Considerăm şiruri formate din paranteze de două tipuri: paranteze rotunde şi paranteze drepte. Parantezele se codifică în felul următor: paranteză rotundă deschisă cu , paranteză rotundă închisă cu , paranteză dreaptă deschisă cu , paranteză dreaptă închisă cu . Spre deosebire de convenţia uzuală din matematică, aici pot exista şi paranteze rotunde incluse în paranteze drepte şi paranteze drepte incluse în paranteze rotunde. Nu putem asocia unei paranteze rotunde deschise o paranteză dreaptă închisă sau viceversa.
Cerință
Să se decidă dacă un astfel de şir este corect construit, în sensul că putem asocia corect două câte două parantezele de fiecare tip
Date de intrare
Fişierul de intrare paranteze.in
conţine pe prima linie numărul (numărul de şiruri ale testului).
Apoi pe fiecare din liniile se află numerele , numărul natural reprezintă lungimea unui şir de paranteze codificat conform enunţului.
Valorile reprezintă codurile respective. Toate numerele sunt despărţite prin câte un spaţiu.
Date de ieșire
În fişierului de ieșire paranteze.out
se va scrie linii. Pe câte o linie va fi scris câte un mesaj. Pe fiecare linie se va scrie unul din mesajele Da
, respectiv Nu
, reprezentând rezultatele verificării corectitudinii şirurilor. Ordinea lor corespunde ordinii şirurilor din fişierul de intrare
Restricții și precizări
- ;
- Fiecare valoare îndeplineşte condiţia: .
Exemplu
paranteze.in
8
6 0 2 3 1 0 1
6 2 0 1 0 1 3
4 0 2 1 3
6 2 0 0 3 1 1
6 2 2 0 1 1 3
6 2 0 0 1 3 0
10 2 2 0 1 0 1 3 3 0 1
10 0 0 0 1 1 1 0 2 3 1
paranteze.out
Da
Da
Nu
Nu
Nu
Nu
Da
Da
Explicație
Primul şir din test corespunde şirului de paranteze ([])()