Pagini recente » Cod sursa (job #2360821) | Cod sursa (job #1082436) | Cod sursa (job #1533819) | Cod sursa (job #1100377) | Diferente pentru problema/keymess intre reviziile 11 si 10
Nu exista diferente intre titluri.
Diferente intre continut:
Daca ii oferi doua chei diferite i si j, in loc sa iti spuna exact ce sunt, masinaria va spune AND-ul bitwise al numerelor lor:
query(i, j) = a[i] & a[j]
Sarcina ta: Reconstruieşte intreaga permutare amestecata de chei a{~1~}, a{~2~}, .. a{~n~} folosind numarul minim posibil de intrebari catre Oracol.
Sarcina ta: Reconstruieşte intreaga permutare amestecata de chei a[1..n] folosind numarul minim posibil de intrebari catre Oracol.
h2. Date de intrare
După fiecare astfel de query interactorul vă va răspunde în stdin cu numarul (a[i] & a[j]).
Pentru a da un raspuns, se afiseaza o linie in urmatorul format:
$* ! a{~1~} a{~2~} ... a{~n~}$
$* ! a[1] a[2] ... a[n]$
Raspunsul nu este va fi considerat la numarul de query-uri.
Dupa aceea, continuati la urmatorul test sau terminati programul daca este ultimul test.
|_. Numar query-uri |_. Punctaj |
| qs ≤ 16700 | 100 |
| 16700 < qs ≤ 17700 | e^((1000 - (qs - 16700)) / 334) + 80 |
| 17700 < qs ≤ 90000 | (-71 / 72300) * qs + (23798 / 241) |
| 17700 < qs ≤ 90000 | m * qs + b |
| qs > 90000 | 10 |
* Pentru a da flush, folositi:
fflush(stdout) sau cout.flush() in C++;
sys.stdout.flush() in Python;
verificati documentatia pentru alte limbaje de programare
h2. Exemplu
|_. stdin |_. stdout |_. Explicaţie |
|1| |Se citeste T|
|4|Se citeste N| |
| |? 1 2|Query cu i = 1, j = 2|
| $0$| |Se raspunde ca (a{~1~} & a{~2~}) = 0|
| |$! 0 1 2 3$|Programul a presupus ca a gasit permutarea si a raspuns|
| $0$| |Se raspunde ca (a[1] & a[2]) = 0|
| |! 0 1 2 3|Programul a presupus ca a gasit permutarea si a raspuns|
== include(page="template/taskfooter" task_id="keymess") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.