O seu professor de Compiladores está ensinando a parte de autômatos. Este tema é bastante importante para que você entenda o conceito de linguagens regulares. Neste momento você já deve ser um ninja nas expressões regulares.
O nosso estimado professor está sem tempo para conseguir implementar autômatos de exemplo e para isso pediu a sua ajuda para implementar um programa de computador que leia a descrição de autômato finito determinístico e em seguida leia uma palavra e decida se ela pertence ou não na linguagem aceita pelo autômato.
A entrada é composta por um único caso de teste possuindo diversas linhas compostas de:
O seu programa deve imprimir uma única linha contendo a palavra
Aceito
caso a palavra seja aceita pelo autômato, ou
Rejeito
caso não seja aceita.
4
2 a b
0 a 1
0 b 2
1 a 3
1 b 2
2 a 1
2 b 3
3 a 3
3 b 3
0
1 3
aa
Aceito
5
3 a b c
4 a 2
3 b 1
3 a 0
3 c 2
2 a 3
2 c 2
1 c 3
4 c 2
0 c 0
1 b 1
0 a 2
1 a 0
4 b 0
2 b 2
0 b 3
0
1 1
abab
Aceito