Pagini recente »
Monitorul de evaluare
|
Istoria paginii utilizator/thegodfahter2131
|
Diferențe pentru problema/comanda între reviziile 10 și 14
|
2014-12-02-clasa-8-tema-11
|
Diferențe pentru problema/oof între reviziile 2 și 18
Diferențe pentru
problema/oof între reviziile
#2 si
#18
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="oof") ==
**inca nu am terminat enuntul**
Un grup de $N$ prieteni s-a dus în timpul vacanței la munte, unde copiii au decis că se vor distra jucând jocul $"N sau 0"$ (joc binecunoscut, unde se știe că vigilența, anduranța și non-agresivitatea primează). Fiind însă un grup numeros, au nevoie de un lider pentru o bună desfășurare. După multe sfătuiri și alegeri mai mult sau mai puțin democratice au stabilit următorul procedeu pentru a desemna șeful: se vor alinia toți într-un șir si vor fi numerotați de la stânga la dreapta cu numerele de la $1$ la $N$ și asupra acestui șir vor fi aplicate $K$ eliminări succesive. La fiecare eliminare se alege arbitrar un număr natural $X$ și se elimină copiii din $X$ în $X$ începând cu primul din șir, copiii eliminați părăsind definitiv selecția de lider spunând "oof". Cu alte cuvinte, se elimină copiii de pe pozițiile [$1$], $X + 1$, $2X + 1$, $3X + 1$, ... până când poziția de pe care trebuie să eliminăm devine mai mare strict decât numărul de copii rămași în șir. După fiecare eliminare, șirul de copii se concatenează astfel încât să se ocupe noile poziții rămase goale și să se păstreze ordinea relativă. La finalul celor $K$ eliminări, liderul va fi copilul aflat pe a [$P$]-a poziție în șirul rămas.
Avem N copii asezati intr-o linie si numerotati de la stanga la dreapta cu numerele de la 1 la N. O eliminare de modul X inseamna ca incepand cu copilul de pe prima pozitie, elimin copii din X in X. Deci se vor elimina copii de pe pozitiile 1, X + 1, 2 * X + 1, ..., si dupa eliminare copiii ramasi se concateneaza intr-un nou sir pastrandu-si ordinea relativa.
Cum dezbaterile febrile i-au epuizat însă pe toți cei $N$ prieteni, la sfârșitul procedeului au constatat că au uitat tot ce s-a petrecut de-a lungul celor $K$ eliminări, inclusiv numerele care le-au fost atribuite la început. Prin urmare, tu ești rugat să îi ajuți spunând ce număr avea liderul în șirul inițial (informație bineînțeles critică).
h2. Date de intrare
Fișierul de intrare $oof.in$ conține pe prima linie numerele naturale [$N$], $K$ și [$P$], semnificând numărul de copii aflați inițial în șir, numărul de eliminări ce se vor face, respectiv poziția copilului din șirul final căruia vrem să îi determinăm numărul. Următoarele $K$ linii conțin fiecare câte un număr natural $X$ care reprezintă modului respectivei eliminări.
Fișierul de intrare $oof.in$ conține pe prima linie numerele naturale [$N$], $K$ și [$P$], semnificând numărul de copii aflați inițial în șir, numărul de eliminări ce se vor face, respectiv poziția copilului din șirul final, căruia vrem să îi determinăm numărul. Următoarele $K$ linii conțin fiecare câte un număr natural $X$ care reprezintă modului respectivei eliminări.
h2. Date de ieșire
table(example).
|_. oof.in |_. oof.out |
| 20 3 4
3
2
7
3
2
7
| 15
|
| 12 2 4
2
4
| 12
|
h3. Explicație
Pentru primul exemplu:
Inițial șirul de copii este: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20.
După prima eliminare rămân copiii cu numerele: 2 3 5 6 8 9 11 12 14 15 17 18 20.
După a doua eliminare rămân copiii cu numerele: 3 6 9 12 15 18.
După ultima eliminare șirul de copii rămași este: 6 9 12 15 18, iar copilul de pe a 4-a poziție este cel cu numărul 15.
Pentru al doilea exemplu:
Inițial șirul de copii este: 1 2 3 4 5 6 7 8 9 10 11 12.
După prima eliminare rămân copiii cu numerele: 2 4 6 8 10 12.
După a doua eliminare rămân copiii cu numerele: 4 6 8 12, iar copilul de pe a 4-a poziție este cel cu numărul 12.
== include(page="template/taskfooter" task_id="oof") ==
Nu există diferențe între securitate.