Un autòmat finit és un graf dirigit tal que de cadascun dels vèrtexs (anomenats estats) en surten dos arcs (anomenades transicions), amb etiquetes i . Hi ha un estat anomenat inicial. A més, els estats poden ser d’acceptació o de rebuig. Per exemple, a l’autòmat
l’estat inicial és el 0, i hi ha un únic estat d’acceptació, el 4.
Donada una paraula amb zeros i uns, l’autòmat accepta la paraula si, des de l’estat inicial, llegint la paraula d’esquerra a dreta i saltant d’estat a estat seguint la transició del símbol actual, al final s’acaba en un estat d’acceptació.
Per exemple, considerem la paraula : comencem al , amb el anem a , amb el anem a , amb el anem a , i finalment amb el acabem a , que és d’acceptació, així que la paraula és acceptada. En canvi, tots els prefixos de (això és, la paraula buida, , i ) són rebutjats, perquè després de llegir-los l’estat al que s’acaba és de rebuig. De fet, és la paraula més curta de les acceptades per aquest autòmat (que són precisament totes les que contenen ).
Donat un autòmat finit, podeu determinar la paraula més curta acceptada (si n’hi ha cap)?
L’entrada consisteix en diversos casos. Cada cas comença amb el
nombre d’estats
,
els quals es representen amb nombres entre 0 i
.
A continuació vénen
parells
,
un per a cada estat
,
indicant una transició entre
i
etiquetada amb un
,
i una transició entre
i
etiquetada amb un
,
respectivament. Finalment ve una paraula amb
caràcters, que indiquen per a cada estat 0, …,
si és d’acceptació ‘A’ o de rebuig ‘R’.
Assumiu
,
que l’estat inicial sempre és el
,
que sempre serà de rebuig, i que almenys hi ha un estat
d’acceptació.
Per cada cas, escriviu la paraula més curta acceptada per l’autòmat.
En cas d’empat, trieu la paraula lexicogràficament més petita. Si no
n’hi ha cap, escriviu “no”.
Input
5 1 0 1 2 3 0 4 2 4 4 RRRRA 2 1 1 1 1 RA 3 0 0 2 2 2 2 RRA 3 1 2 1 1 2 2 RRA 4 1 2 3 3 3 0 3 3 RRRA 4 1 2 1 3 3 2 3 3 RAAR
Output
0100 0 no 1 00 0