Minimāliste Una stāvēja tukšā istabā ar grāmatu rokā. Viņa atvēra grāmatu un tās vienīgajā lappusē bija rakstīts:
Dots saraksts ar N sešu burtu vārdiem. Noteikt, vai ir iespējams izveidot virkni no dotajiem vārdiem tā, lai tā sāktos ar noteiktu vārdu, beigtos ar noteiktu vārdu, un virknē katriem diviem secīgiem vārdiem būtu atšķirīgs tieši viens burts. Ja šādu virkni iespējams izveidot, aprēķiniet īsākās derīgās virknes garumu!
Uzrakstiet programmu, kas atrisina šo uzdevumu!
Teksta faila vards.dat pirmajā rindā dots vārdu skaits sarakstā N (2 ≤ N ≤ 2 000). Katrā no nākamajām N rindām dots viens vārds, kas satur tieši sešus latīņu alfabēta lielos burtus. Meklējamai virknei jāsākas ar vārdu, kas dots otrajā faila rindā, un jābeidzas ar vārdu, kas dots trešajā faila rindā. Zināms, ka šie divi vārdi ir atšķirīgi, taču sarakstā var būt arī vienādi vārdi.
Teksta faila vards.rez vienīgajā rindā jāizvada vesels skaitlis - vārdu skaits īsākajā derīgajā virknē. Ja derīgu virkni nav iespējams izveidot, jāizvada skaitlis -1.
vards.dat | vards.rez | |
4 DANCIS RUNCIS TUNCIS DUNCIS |
3 |
Īsākā virkne ir DANCIS, DUNCIS, RUNCIS. Virknes pirmais vārds no otrā atšķiras otrajā simbolā, bet otrais no trešā pirmajā simbolā. |
vards.dat | vards.rez | |
4 VVVABB VVVCDD VVVADD VVVBDD |
-1 |
Virkni, kas sākas ar vārdu VVVABB un beidzas ar vārdu VVVCDD, no šī saraksta vārdiem nav iespējams izveidot. |