Loid Forger a primit o nouă misiune: să saboteze o mină importantă de lângă Berlint, Ostania. Mina are forma unei coloane verticale împărțită pe niveluri, numerotate de la (cel mai de sus nivel) la (cel mai de jos). Fiecare nivel conține aer (care are codul ), nisip (care are codul ) sau piatră (care are codul ).
Misiunea lui Loid constă în a dinamita piatra de pe unele niveluri pentru a provoca surparea minei și curgerea nisipului spre nivelurile inferioare. El are de îndeplinit sarcini numerotate de la la . Acestea sunt de două tipuri:
1 t p
(dinamitare): Loid trebuie ca, la secunda , să dinamiteze piatra de pe nivelul al minei. Pentru orice astfel de sarcină, Loid știe că, la secunda , nivelul conține piatră, iar aceasta va fi înlocuită de aer la secunda , după dinamitare.2 t p
(întrebare): Pentru a i se testa perspicacitatea, Loid este întrebat ce conține nivelul al minei la secunda : aer, nisip sau piatră?
În general, conținutul unui nivel la secunda va fi același și la secunda , cu două excepții:
- Curgerea nisipului: dacă, la secunda , nivelul conține nisip și nivelul conține aer, nisipul va curge și, la secunda , nivelul conține aer și nivelul conține nisip.
- Dinamitarea de către Loid: un nivel care conține piatră și este dinamitat la secunda va conține aer la secunda .
Dacă, la secunda , fiecare nivel de la la al minei are același conținut ca la secunda , spunem că mina este stabilă la secunda .
Cerintă
Dându-se , conținuturile tuturor nivelurilor minei la secunda , și sarcinile care trebuie îndeplinite, să se determine răspunsurile la sarcinile de tip întrebare.
Date de intrare
Fișierul de intrare nisip.in
va conține pe prima linie două numere naturale și separate printr-un spațiu, reprezentând numărul de niveluri ale minei, respectiv numărul de sarcini.
Pe următoarea linie se vor afla numere naturale separate prin câte un spațiu, al -ulea dintre acestea reprezentând codul conținutul nivelului al minei ( pentru aer, pentru nisip, pentru piatră).
Următoarele linii conțin descrierile sarcinilor din cadrul misiunii lui Loid. A -a dintre acestea va conține trei numere naturale , și separate printr-un spațiu, reprezentând, în ordine cronologică, sarcinile date lui Loid: reprezintă tipul sarcinii ( pentru dinamitare, pentru întrebare), reprezintă secunda și reprezintă nivelul minei.
Date de ieșire
Fișierul de ieșire nisip.out
conține codurile corespunzătoare răspunsurilor la sarcinile de tip întrebare ( pentru aer, pentru nisip, pentru piatră), în ordinea din fișierul de intrare, câte unul pe fiecare linie.
Restricții
- și pentru orice , .
- , pentru orice , .
- Nivelul conține întotdeauna piatră și Loid nu va avea niciodată sarcina de a dinamita piatra de pe nivelul .
- Mina este stabilă la secunda .
- Pentru fiecare sarcină pentru care , mina este stabilă la secunda .
# | Punctaj | Restricții |
---|---|---|
1 | 21 | , , , pentru orice , . |
2 | 28 | , , pentru orice , . |
3 | 22 | Există maximum de niveluri care conțin nisip și maximum de sarcini de tipul . |
4 | 29 | Fără restricții suplimentare. |
Exemple
nisip.in
6 4
0 1 1 2 0 2
1 1 4
2 2 3
2 4 2
2 5 4
nisip.out
1
0
1
Explicații
Conținuturile nivelurilor minei sunt:
0 1 1 2 0 2
la secunda 1,0 1 1 0 0 2
la secunda 2,0 1 0 1 0 2
la secunda 3,0 0 1 0 1 2
la secunda 4,0 0 0 1 1 2
la secunda 5,0 0 0 1 1 2
la secunda 6, etc.