Nadejda și Zinaida se joacă un joc. În jocul lor, ele consideră o permutare , și un șir de numere întregi distincte , ambele de lungime . Zinaida cunoaște atât șirul cât și permutarea --- pe când Nadejda nu le cunoaște.
În fiecare rundă a jocului, se întamplă două lucuri:
- Nadejda o poate întreba pe Zinaida care este elementul .
- Apoi, Zinaida aplică pemutarea asupra șirului --- adică, pentru fiecare , elementul se mută pe poziția .
Cerință
Scopul jocului este ca Nadejda să deducă atât permutarea cât și șirul inițial , folosind cât mai puține întrebări. O puteți ajuta pe Nadejda să câștige?
Protocol de interacțiune
Această problemă este interactivă! Se citește numărul prin std::cin. Pentru a-i pune o întrebare Zinaidei, trebuie să afișați pe o linie folosind std::cout:
urmat de un std::endl. După care se citește răspunsul la întrebare folosind std::cin. Dacă acesta este -1, întrebarea a fost invalidă, și trebuie să apelați funcția exit(0) pentru a putea primi verdictul corect (altfel, este posibil să primiți verdictul Execution killed).
După ce ați aflat permutarea și șirul, puteți să-i răspundeți Zinaidei prin a afișa pe o singură linie folosind std::cout:
urmat, desigur, de un std::endl.
Restricții și precizări
| # | Scor | Restricții |
|---|---|---|
| 1 | 4 | |
| 2 | 8 | par, iar * |
| 3 | 19 | |
| 4 | 69 | Fără restricții suplimentare |
*Spre exemplu, și sau și .
Punctare
Pentru un test ce valorează puncte, dacă soluția voastră efectuează întrebări, punctajul obținut va fi .
Pentru mai mult de 10 întrebări se va acorda verdictul Too many queries.
De asemenea, în cazul în care ghiciți permutarea sau șirul dar nu pe amândouă, veți primi jumătate din punctajul dat de formula de mai sus (și un verdict corespunzător).
Exemple
| Input | Ouptut | Explanation |
|---|---|---|
3 |
Permutarea Zinaidei este 2 1 3, iar șirul inițial este 67 420 1 |
|
? 1 |
||
67 |
a[1] = 67. Șirul se permută la 420 67 1. |
|
? 2 |
||
67 |
a[2] = 67. Șirul se permută la 67 420 1. |
|
? 3 |
||
1 |
a[3] = 1. Șirul se permută la 420 67 1. |
|
? 1 |
||
420 |
a[1] = 420. Șirul se permută la 67 420 1. |
|
? 3 |
||
1 |
a[3] = 1. Nadejda deduce atât permutarea, cât și șirul ascuns. |
|
! 2 1 3 67 420 1 |
Hooray! |