Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | episoade.in, episoade.out | Sursă | Stelele Informaticii 2009, clasele 9-10 |
Autor | Silviu-Ionut Ganceanu | Adăugată de | |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Episoade
Va era dor de Algorel? Iată ca au venit Stelele si e timpul sa apara iar în viaţa mondenă. De data asta concursul l-a prins uitându-se la un serial de desene animate. Cum tocmai a facut rost de un nou sezon ce are N episoade, Algorel ar vrea sa stie in ce ordine ar putea sa le vada. El stie de la un prieten o expresie care descrie cum se leaga episoadele intre ele. Expresia data respecta anumite reguli:
- intr-o expresie pot aparea numerele de la 1 la N (fiecarui episod ii corespunde un numar) precum si caracterele: (),|
- o subexpresie a expresiei descrie relatii intre un anumit grup de episoade
- expresia ge_1_, ge_2_, ..., ge_k_ are semnificatia ca grupurile de episoade ge_1_, ge_2_, .., ge_k_ trebuie vazute neaparat in ordinea data; fiecare grup de episoade poate fi un singur episod sau o subexpresie ce decrie mai multe episoade
- expresia ge1 # ge2 # ... # gek spune ca grupurile de episoade care pot fi vazute in orice ordine dar fara sa se intercalaze
Pentru a va ajuta sa intelegeti regulile, Algorel va da si cateva exemple:
expresie | ordini posibile |
---|---|
1, (2 # 3), 4 | 1 2 3 4 1 3 2 4 |
((3, 2), 1) # (4, 5) # (7, 6, 8) | 3 2 1 4 5 7 6 8 3 2 1 7 6 8 4 5 4 5 3 2 1 7 6 8 4 5 7 6 8 3 2 1 7 6 8 3 2 1 4 5 7 6 8 4 5 3 2 1 |
Acum Algorel are niste ordini posibile in care ar vrea sa vada episoadele pe care le-a gasit pe niste site-uri. El vrea sa stie care din aceste ordini se conformeaza regulilor expresiei si care nu.
Date de intrare
Fişierul de intrare episoade.in va contine pe prima linie expresia pe care Algorel o stie. Pe a doua linie se afla T - numarul de ordini pe care Algorel le-a gasit pe internet. Pe urmatoarele T linii se afla N numere (N este numarul maxim care apare in expresie) separate prin spatii care descriu fiecare cate o ordine.
Date de ieşire
În fişierul de ieşire episoade.out veti afisa T linii pentru fiecare din cele T ordini. Pe linia i veti scrie 1 daca ordinea i din fisierul de intrare este posibila conform expresiei sau 0 daca nu.
Restricţii
- 1 ≤ N ≤ 500
- Lungimea expresiei nu depaseste 2000 de caractere
- 1 ≤ T ≤ 30
- Pentru 50% din teste 1 ≤ N ≤ 10
Exemplu
episoade.in | episoade.out |
---|---|
((3, 2), 1) # (4, 5) # (7, 6, 8) 4 1 1 1 1 1 1 1 1 4 5 3 2 1 7 6 8 4 3 5 2 1 7 6 8 5 4 3 2 1 7 6 8 | 0 1 0 0 |