La lingua di Algolandia - parte 2

Nella lingua di Algolandia, le parole sono definite da un insieme di regole R; ogni regola ha la forma XY; in una parola una lettera X può essere seguita da una lettera Y solo se XY è una regola.

Modellate il problema usando la struttura dati grafo orientato e sfruttate un'opportuna visita per implementare una funzione che:

Quindi completate il main per scrivere un programma che:

Potete riutilizzare il codice fornito per gli esercizi precedenti.

Esempio

Eseguendo

./soluzione

avendo nel flusso di ingresso:

18
AB AH BC BD DE EF FG GC HI HJ JK KL LM MK LN NO NP PA
H

il programma emette sul flusso di uscita:

HJIKLNMPOABDCEFG

Esempio

Eseguendo

./soluzione

avendo nel flusso di ingresso:

12
WU XP RY XU WY AW ZR TN GL KD LW WA
A

il programma emette sul flusso di uscita:

AWYU