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 precum si caracterele: (),#
- fiecare numar de la 1 la N apare o singura data in expresie iar fiecarui episod ii corespunde in mod unic un numar
- un grup de episoade poate fi un singur episod sau o subexpresie ce decrie relatii intre mai multe episoade
- , si # sunt operatori ce au urmatoarele propietati:
- ge1 , ge2 - grupul de episoade ge1 trebuie vazut inainte de ge2
- ge1 # ge2 - cele doua grupurile de episoade pot fi vazute in orice ordine dar fara sa se intercalaze
- , are prioritate mai mare fata de #
- parantezele pot aparea oriunde in expresie cu conditia sa fie bine inchise
Pentru a va ajuta sa intelegeti regulile, Algorel va da si cateva exemple:
expresie | ordini posibile |
---|---|
1#2,3,4 | 1 2 3 4 2 3 4 1 |
((3,(4#5),(1#(2,6)))) | 3 4 5 1 2 6 3 4 5 2 6 1 3 5 4 1 2 6 3 5 4 2 6 1 |
Acum Algorel are niste ordini posibile in care ar vrea sa vada episoadele pe care le-a gasit pe niste site-uri cu recomandari. El vrea sa stie care din aceste ordini corespund cu regulile descrise de expresie.
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 numerele 1 .. N (N este numarul maxim care apare in expresie) separate prin spatii ce descriu o anumita ordine a episoadelor.
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 in caz contrar.
Restricţii
- 1 ≤ N ≤ 500
- Lungimea expresiei nu depaseste 2000 de caractere
- 1 ≤ T ≤ 30
- In 50% din teste nu vor aparea paranteze
Exemplu
episoade.in | episoade.out |
---|---|
((3,(4#5),(1#(2,6)))) 3 1 2 3 4 5 6 3 5 4 1 2 6 3 5 1 4 2 6 | 0 1 0 |