| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 | 1024 MB | 16 | 2 | 1 | 8.333% |
Juku katsetas erinevaid käsureaprogramme. Enamiku programmide mitmekordsel järjest käivitamisel sai ta mitu korda sama väljundi. Näiteks programm pwd väljastas kahekordsel järjest käivitamisel järgneva:
/home/juku/lahendused/segane /home/juku/lahendused/segane
Samas on selline väljund garanteeritud vaid siis, kui programme jooksutatakse üksteise järel. Kui Juku käivitas ühe programmi mitu eksemplari korraga, märkas ta, et nende väljundid põimusid, andes igal katsel erineva tulemuse. Näiteks pwd kaht eksemplari korraga jooksutades sai Juku kahel katsel järgnevad väljundid:
/home//homjukue/ju/lahkeundu/sedl/ahseeganen dused/segane
/h/ohomme/e/juku/lajukhue/landusehedn/segadunseed/ segane
Seejuures märkas Juku, et kuigi programmi erinevate eksemplaride väljastatud märgid võivad olla üksteise vahel, väljastati programmi iga eksemplari kogu väljund täielikult ja kõik ühe eksemplari väljastatud märgid omavahel õiges järjekorras.
Juku otsustas seda veidrat nähtust korduvalt katsetada, kuid peale pisut aega proovimist märkas ta, et ta ei tea tegelikult mõnede programmide väljundit. Nüüd tahab ta olemasoleva info põhjal võimalikud väljundid taastada.
Selles ülesandes võib sisend koosneda mitmest alamtestist. Sisendi esimesel real on alamtestide arv $T$ (1ドル \le T \le 20$).
Iga alamtest koosneb kahest reast. Esimesel real on käivitatud programmide arv $N$ (2ドル \le N \le 10$). Teisel real on sõne $S,ドル ühe programmi $N$ eksemplari samaaegsel käivitamisel saadud väljund. Lihtsuse huvides koosneb see sõne vaid ladina tähestiku väiketähtedest ning ei sisalda tühikuid, reavahetusi ega muid erimärke.
Iga alamtesti kohta väljastada kaks rida. Esimesele reale väljastada täisarv, mis näitab programmi kõigi võimalike väljundite arvu. Teisele reale väljastada programmi kõik võimalikud väljundid tühikutega eraldatult ja tähestikulises järjekorras.
Olgu $L$ programmi ühe eksemplari väljundi pikkus ($S$ pikkus on siis $N \cdot L$). Iga alamtesti puhul on garanteeritud, et $N^L \le 2 \cdot 10^7$. Järgnev tabel näitab võimalikele $N$ väärtustele vastavaid maksimaalseid $L$ väärtusi:
| $N$ | $\max{L}$ |
|---|---|
| 2ドル$ | 24ドル$ |
| 3ドル$ | 15ドル$ |
| 4ドル$ | 12ドル$ |
| 5ドル$ | 10ドル$ |
| 6ドル$ | 9ドル$ |
| 7ドル$ | 8ドル$ |
| 8ドル$ | 8ドル$ |
| 9ドル$ | 7ドル$ |
| 10ドル$ | 7ドル$ |
Esimeses alamtestis on programmi eksemplaride väljundid väljastatud järjest. Teises alamtestis võisid programmi eksemplarid väljastada märke paljudel erinevatel viisidel põimitult, kuid programmi väljundi jaoks on vaid üks võimalik variant. Kolmandas alamtestis on toodud olukord, kus programm võis väljastada ühe kahest võimalikust väljundist.
4 2 abcdabcd 5 aaaaaaaaaa 2 aabbaabb 4 eerrrroereorrrorrror
1 abcd 1 aa 2 aabb abab 1 error