== include(page="template/taskheader" task_id="mixedsignals") ==
Sperand sa descifreze semnalele mixte, Petrica a decis ca vrea sa inteleaga o data pentru totdeauna cum socializeaza oamenii, asa ca s-a inscris in Semicercul Dopatilor Anonimi.
Sperînd să descifreze semnalele mixte, Petrică a decis că vrea să înţeleagă o dată pentru totdeauna cum socializează oamenii, aşa că s-a înscris în Semicercul Dopaţilor Anonimi.
Aici el a gasit <tex>N</tex> oameni asezati intr-un patrat, numerotati de la 1 la N, identificand 3 tipuri de persoane:
Aici el a găsit <tex>N</tex> oameni aşezaţi într-un pătrat, numerotaţi de la 1 la N, identificând 3 tipuri de persoane:
* persoane care spun mereu adevarul, avand incredere in restul grupului
* persoane care spun mereu adevărul, având încredere în restul grupului
* persoane care mint mereu, vorbind mereu fals
* persoane mute, care doar asculta discutiile
* persoane mute, care doar ascultă discuţiile
Fiind un semicerc de oameni sociabili, exista cel mult <tex>{N/2}</tex> oameni muti, iar fiecare persoana stie despre orice alta persoana ce tip de om este.
Fiind un semicerc de oameni sociabili, există cel mult <tex>{N/2}</tex> oameni muţi, iar fiecare persoană ştie despre orice altă persoană ce tip de om este.
Dorind sa se integreze in grup, protagonistul nostru s-a hotarat sa afle ce tip de om e fiecare punand urmatoarele intrebari:
Dorind să se integreze in grup, protagonistul nostru s-a hotărât să afle ce tip de om e fiecare punând urmatoarele întrebări:
# Petrica il intreaba pe <tex>X_1</tex> ce ar zice <tex>X_2</tex> daca ar fi intrebat ce ar zice <tex>X_3</tex> daca ar fi intrebat ce ar zice <tex>X_4</tex> .... daca ar fi intrebat ce zice <tex>X_{K-1}</tex> despre <tex>X_K</tex>, unde <tex>X_1, X_2, ... X_K</tex>, cu <tex>K \ge 2</tex>, sunt persoane **diferite** din grup.
De exemplu: pentru <tex>K=2</tex>, Petrica il intreaba pe <tex>X_1</tex> daca <tex>X_2</tex> minte sau nu
pentru <tex>K=3</tex>, Petrica il intreaba pe <tex>X_1</tex> ce ar zice <tex>X_2</tex> daca e intrebat de <tex>X_3</tex> daca minte sau nu
Daca vreuna dintre persoanele <tex>X_1, X_2, ..., X_K</tex> este muta, atunci Petrica nu va primi niciun raspuns.
# Petrica afla prin intuitia sa ce tip de om este <tex>X</tex> (acesta nu isi poate folosi intuitia de mai mult de $5$ ori intr-o situatie)
# Petrică îl intreabă pe <tex>X_1</tex> ce ar zice <tex>X_2</tex> dacă ar fi intrebat ce ar zice <tex>X_3</tex> dacă ar fi intrebat ce ar zice <tex>X_4</tex> .... daca ar fi intrebat ce zice <tex>X_{K-1}</tex> despre <tex>X_K</tex>, unde <tex>X_1, X_2, ... X_K</tex>, cu <tex>K \ge 2</tex>, sunt persoane **diferite** din grup.
De exemplu: pentru <tex>K=2</tex>, Petrică îl întreabă pe <tex>X_1</tex> dacă <tex>X_2</tex> minte sau nu
pentru <tex>K=3</tex>, Petrică îl întreabă pe <tex>X_1</tex> ce ar zice <tex>X_2</tex> dacă e intrebat de <tex>X_3</tex> dacă minte sau nu
Dacă vreuna dintre persoanele <tex>X_1, X_2, ..., X_K</tex> este mută, atunci Petrică nu va primi niciun raspuns.
# Petrică află prin intuiţia sa ce tip de om este <tex>X</tex> (acesta nu îşi poate folosi intuiţia de mai mult de $5$ ori într-o situaţie)
h2. Interactiune
h2. Interacţiune
Pentru fiecare test trebuie procesate mai multe situatii.
Astfel, prima linie val contine un numar natural <tex>T</tex>, reprezentand numarul de situatii.
Pentru fiecare test trebuie procesate mai multe situaţii.
Astfel, prima linie val conţine un număr natural <tex>T</tex>, reprezentând numărul de situaţii.
Pentru fiecare situatie, pe prima linie va fi un numar natural <tex>N</tex>, reprezentand numarul de oameni.
Pentru fiecare situaţie, pe prima linie va fi un număr natural <tex>N</tex>, reprezentând numărul de oameni.
Programul vostru are voie sa puna intrebari scriind in $standard output$:
Programul vostru are voie să pună întrebări scriind în $standard output$:
* "<tex>1 \: \: K \: X_1 \: X_2 \: ... \: X_K</tex>" reprezentand o intrebare de tipul $1$
* "<tex>2 \: \: X</tex>" reprezentand o intrebare de tipul $2$
* "<tex>0 \: \: T_1 \: T_2 \: ... \: T_N</tex>" reprezentand raspunsul
* "<tex>1 \: \: K \: X_1 \: X_2 \: ... \: X_K</tex>" reprezentând o întrebare de tipul $1$
* "<tex>2 \: \: X</tex>" reprezentând o întrebare de tipul $2$
* "<tex>0 \: \: T_1 \: T_2 \: ... \: T_N</tex>" reprezentând răspunsul
Pentru fiecare intrebare de tipul $1$ sau $2$, interactorul o sa raspunda in $standard input$ cu:
Pentru fiecare întrebare de tipul $1$ sau $2$, interactorul o să răspundă în $standard input$ cu:
* "0" daca <tex>X_1</tex> zice ca <tex>X_2</tex> zice ca ... <tex>X_K</tex> spune mereu adevarul sau <tex>X</tex> spune adevarul (in cazul unei intrebari de tipul 2)
* "1" daca <tex>X_1</tex> zice ca <tex>X_2</tex> zice ca ... <tex>X_K</tex> minte mereu sau <tex>X</tex> minte (in cazul unei intrebari de tipul 2)
* "2" daca printer <tex>X_1, X_2, ..., X_K</tex> este vreun mut sau <tex>X</tex> este mut (in cazul unei intrebari de tipul 2).
* "0" dacă <tex>X_1</tex> zice că <tex>X_2</tex> zice că ... <tex>X_K</tex> spune mereu adevărul sau <tex>X</tex> spune adevărul (în cazul unei întrebări de tipul 2)
* "1" dacă <tex>X_1</tex> zice că <tex>X_2</tex> zice că ... <tex>X_K</tex> minte mereu sau <tex>X</tex> minte (în cazul unei întrebări de tipul 2)
* "2" dacă printer <tex>X_1, X_2, ..., X_K</tex> este vreun mut sau <tex>X</tex> este mut (în cazul unei întrebări de tipul 2).
Daca dupa vreo intrebare raspunsul este <tex>-1</tex>, intrebarea este invalida, iar programul trebuie sa se termine imediat.
Dacă după vreo întrebare răspunsul este <tex>-1</tex>, întrebarea este invalidă, iar programul trebuie să se termine imediat.
Pentru fiecare situatie, operatia "0" va fi apelata fix o singura data.
Pentru fiecare situaţie, operaţia "0" va fi apelată fix o singură dată.
**Citirea si afisarea se vor face cu standard input/output.**
**Dupa fiecare operatie trebuie afisat caracterul newline('\n' sau endl).**
**Incercarea de-a deschide vreun fisier poate duce la o eroare in executarea programului vostru.**
Nu uitati sa dati $flush$ la bufferul de iesire, cu $cout.flush()$ sau $fflush(stdout)$.
**Citirea şi afişarea se vor face cu standard input/output.**
**După fiecare operaţie trebuie afişat caracterul newline('\n' sau endl).**
**Încercarea de-a deschide vreun fişier poate duce la o eroare în executarea programului vostru.**
Nu uitaţi să daţi $flush$ la bufferul de ieşire, cu $cout.flush()$ sau $fflush(stdout)$.
h2. Restricţii
* $1 ≤ T ≤ 20$
* $5 ≤ N ≤ 300$
* Vor exista mereu cel putin 3 oameni care nu sunt muti.
* Cel mult jumatate din oameni sunt muti.
* Pentru o situatie, intrebarea de tip 2 poate fi apelata de maxim $5$ ori.
* Vor exista mereu cel puţin 3 oameni care nu sunt muţi.
* Cel mult jumătate din oameni sunt muţi.
* Pentru o situaţie, întrebarea de tip 2 poate fi apelată de maxim $5$ ori.
h2. Punctare
Testele respecta urmatoarele:
Testele respectă urmatoarele:
|_. Numar test |_. Limita N |_. Contine persoane mute |_. Punctaj maxim |
|_. Număr test |_. Limita N |_. Conţine persoane mute |_. Punctaj maxim |
| 1 | 15 | NU | 10 |
| 2 | 100 | NU | 20 |
| 3 | 300 | NU | 30 |
| 5 | 100 | DA | 10 |
| 6 | 300 | DA | 20 |
Pentru testele care **nu contin** persoane mute, se puncteaza astfel, in functie de numarul de intrebari de tipul 1 (notat cu $Q$):
Pentru testele care **nu conţin** persoane mute, se punctează astfel, în functie de numărul de întrebări de tipul 1 (notat cu $Q$):
* $Q ≤ N$, $100%$ din punctajul pe acel test
* $N < Q ≤ N + 5$, $80%$ din punctajul pe acel test
* $N + 5 < Q ≤ 2 * N + 10$, $60%$ din punctajul pe acel test
* $2 * N + 10 < Q$, $20%$ din punctajul pe acel test
Pentru testele care **contin** persoane mute, se puncteaza astfel, in functie de numarul de intrebari de tipul 1 (notat cu $Q$):
Pentru testele care **conţin** persoane mute, se punctează astfel, în funcţie de numărul de întrebări de tipul 1 (notat cu $Q$):
* $Q ≤ N + 15$, $100%$ din punctajul pe acel test
* $N + 15 < Q ≤ 2 * N + 10$, $60%$ din punctajul pe acel test
* $2 * N + 10 < Q$, $20%$ din punctajul pe acel test
**Pentru folosirea unei intrebari de tipul $2$ nu se acorda decat jumatate din punctajul testului.**
**Pentru folosirea unei întrebări de tipul $2$ nu se acordă decât jumătate din punctajul testului.**
h2. Exemplu