Feladat: S.7 Korcsoport: - Nehézségi fok: -
Füzet: 2005/március, 192. oldal  PDF file
Témakör(ök): Nehezebb feladat
Hivatkozás(ok):Feladatok: 2005/március: S.7

Adott néhány, legalább 5- és legfeljebb 30-betűs szó. Írjunk programot ezek sorba rendezésére úgy, hogy mindegyik szó utolsó 5 betűje megegyezzen a következő szó első 5 betűjével. A szavak száma legfeljebb 10 000, és csak az angol ábécé 26 betűjét ‐ csak a kisbetűket ‐ használjuk.
A program a standard bemenetről olvasson. Az első sorban a szavak száma szerepel, a következő sorokban egy-egy szó. Ha létezik lehetséges sorba rendezés, akkor a program írjon ki egy ilyet a standard kimenetre; minden sorba egy szót írjon. Ha nincs megoldás, akkor írja ki azt, hogy Nincs megoldás.

Given a set of words, each of length between 5 and 30 letters. Write a program to sort them such that the last 5 letters of each word matches the first 5 letters of the next one. The number of words is at most 10,000 and only the 26 lower case letters of the English alphabet are used.
The first line of the input contains the number of words; then each subsequent line contains one word. If there exists a proper sorting, write one to the output such that each line contains one word. If there is no solution, just display NO SOLUTION.