Pagini recente »
concurs_boeria_vs_hanganu1_vs_hanganu2
|
Diferențe pentru problema/sport între reviziile 10 și 8
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="sport") ==
Profesorul nostru de sport este bun prieten cu profesorul de matematică. Din acest motiv la ora de sport inventează tot felul de probleme și apoi îi cere profesorului de matematică să le rezolve. Azi la ora de sport participă N elevi, care poartă tricouri cu numerele 1, 2, ..., N. La începutul orei, cei N elevi se așează în rând în ordinea <notextile>p[1] p[2] ... p[N]</notextile> (adică elevul cu tricoul <notextile>p[1]</notextile> se așează pe poziția 1 în rând, elevul cu tricoul <notextile>p[2]</notextile> stă pe poziția 2, etc., pozițiile în rând fiind numerotate de la 1 la N de la stânga la dreapta). Profesorul de sport spune așa: ″La comanda mea schimbați locurile astfel: pe poziția i să se așeze elevul care acum stă pe poziția p[p[i]] (pentru fiecare 1≤i≤N)″.
Profesorul nostru de sport este bun prieten cu profesorul de matematică. Din acest motiv la ora de sport inventează tot felul de probleme și apoi îi cere profesorului de matematică să le rezolve. Azi la ora de sport participă N elevi, care poartă tricouri cu numerele 1, 2, ..., N. La începutul orei, cei N elevi se așează în rând în ordinea p[1] p[2] ... p[N] (adică elevul cu tricoul p[1] se așează pe poziția 1 în rând, elevul cu tricoul p[2] stă pe poziția 2, etc., pozițiile în rând fiind numerotate de la 1 la N de la stânga la dreapta). Profesorul de sport spune așa: ″La comanda mea schimbați locurile astfel: pe poziția i să se așeze elevul care acum stă pe poziția p[p[i]] (pentru fiecare 1≤i≤N)″.
De exemplu, dacă N=6 și inițial elevii s-au așezat astfel: 3 1 4 2 6 5
După prima comandă: 4 3 2 1 5 6
Observați că pe poziția 1 se află elevul 3 iar pe poziția 3 se află elevul 4. După prima comandă pe poziția 1 va ajunge elevul <notextile>p[p[1]]=p[3]=4</notextile>. Pe poziția 2 se află elevul 1, iar pe poziția 1 se află elevul 3. După prima comandă pe poziția 2 va ajunge elevul <notextile>p[p[2]]=p[1]=3...</notextile>
Observați că pe poziția 1 se află elevul 3 iar pe poziția 3 se află elevul 4. După prima comandă pe poziția 1 va ajunge elevul p[p[1]]=p[3]=4. Pe poziția 2 se află elevul 1, iar pe poziția 1 se află elevul 3. După prima comandă pe poziția 2 va ajunge elevul p[p[2]]=p[1]=3...
După a doua comandă: 2 4 1 3 6 5
Observați că în configurația obținută după prima comandă pe poziția 1 stătea elevul 4 deci după încă o comandă va ajunge pe poziția 1 elevul <notextile>p[4]</notextile>, adică elevul 2. Pe poziția 2 stătea elevul 3, deci după încă o comandă va ajunge pe poziția 2 elevul <notextile>p[3]</notextile>, adică elevul 4 etc.
Observați că în configurația obținută după prima comandă pe poziția 1 stătea elevul 4 deci după încă o comandă va ajunge pe poziția 1 elevul p[4], adică elevul 2. Pe poziția 2 stătea elevul 3, deci după încă o comandă va ajunge pe poziția 2 elevul p[3], adică elevul 4 etc.
După a treia comandă se obține configurația 1 2 3 4 5 6
* Valorile scrise pe aceeași linie în fișierul de intrare, respectiv în fișierul de ieșire sunt separate prin spații.
* Spunem că o configuratie p=(p 1, p 2, ..., p N) este mai mică din punct de vedere lexicografic decât o altă configurație q=(q1, q2, ..., qN) dacă există un indice k, 1≤k≤N astfel încât p[~i~]=q[~i~], pentru orice 1≤i<k și p[~k~]<q[~k~].
* Numărul minim de comenzi ce trebuie să fie efectuate este ≤2000000000 (două miliarde).
* _Punctaj_. Se acordă 50% din punctajul pe teste pentru prima cerință. Punctajul integral se acordă pentru rezolvarea ambelor cerințe.
h2. Exemplu
table(example).
table(example).
|_. sport.in |_. sport.out |
| 6
3 1 4 2 6 5
Nu există diferențe între securitate.