Diferente pentru problema/citylog intre reviziile #3 si #18

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="citylog") ==
Toti copiii viseaza la un moment dat la o cariera ideala din punctul lor de vedere. Soferi, pompieri, fotbalisti, astronauti, Hanne Montane, nu conteaza. Nu-i asa ca tu ti-ai dorit dintotdeauna sa lucrezi la Primarie? Bineinteles ca nu, dar in scopurile acestei probleme vom presupune acest lucru. Mai exact, functia ta in Primarie este sa mentii arborele genealogic al orasului si sa raspunzi la intrebarile inutile ale cetatenilor. Astfel, actiunile tale intr-o zi se impart in doua clase:
Toti copiii viseaza la un moment dat la o cariera ideala din punctul lor de vedere. Nu-i asa ca tu ti-ai dorit dintotdeauna sa lucrezi la arhiva Primariei? Probabil ca nu, dar in scopurile acestei probleme vom presupune acest lucru. Mai exact, functia ta in Primarie este sa mentii arborele genealogic al orasului si sa raspunzi la intrebarile inutile ale cetatenilor. Astfel, actiunile tale intr-o zi se impart in doua clase:
0. Consemneaza faptul ca cetateanul $Y$ are un nou copil, iar numele sau este $X$.
1. Spune-i cetateanului $X$ care este al $Y$-lea stramos al sau. Nu stim nici noi de ce nu-si intreaba proprii parinti sau de ce nu-si folosesc timpul intr-un mod mai productiv, dar nu e treaba ta!
* *0* Consemneaza faptul ca cetateanul $Y$ are un nou copil, iar numele sau este $X$.
* *1* Spune-i cetateanului $X$ care este al $Y$-lea stramos al sau. Nu stim nici noi de ce nu-si intreaba proprii parinti sau de ce nu-si folosesc timpul intr-un mod mai productiv, dar nu e treaba ta!
Initial, singurul cetatean al orasului este cetateanul $1$ si se garanteaza ca toti ceilalti cetateni vor fi stranepotii sai. Fiecare copil va avea un singur parinte, iar numarul total al cetatenilor la finalul zilei va fi $N$. Numarul total de cereri, indiferent de tipul lor, va fi $M$.
h2. Date de intrare
Fişierul de intrare $citylog.in$ va contine pe prima sa linie doua numere, $N$ si $M$. Urmatoarele $M$ linii vor fi de forma $TIP X Y$, unde $TIP$ denota tipul intrebarii, iar $X$ si $Y$ au semnificatia din enunt.
Fişierul de intrare $citylog.in$ va contine pe prima sa linie doua numere, $N$ si $M$. Urmatoarele $M$ linii vor fi de forma $TIP A B$, unde $TIP$ denota tipul intrebarii, iar $A$ si $B$ sunt numerele cu care veti obtine cererile, in felul urmator:
 
$X = A xor current$
$Y = B xor current$
 
Variabila $current$ reprezinta valoarea ultimului raspuns la o cerere de tip 1. Initial, $current$ = 0.
h2. Date de ieşire
În fişierul de ieşire $citylog.out$ se vor afla raspunsurile la cererile de tip 2. Daca cetateanul $X$ nu are un al $Y$-lea stramos, raspunsul va fi $0$.
În fişierul de ieşire $citylog.out$ se vor afla raspunsurile la cererile de tip 1. Daca cetateanul $X$ nu are un al $Y$-lea stramos, raspunsul va fi $0$.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 10^5^$
* $1 ≤ M ≤ 10^6^$
* Din cauza conditiilor meteo indurate de evaluator, Primaria Infoarena va sugereaza sa folositi citirea cu *streamuri* pentru aceasta problema.
h2. Exemplu
table(example). |_. citylog.in |_. citylog.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|5 10
0 2 1
0 3 2
1 1 0
1 2 3
0 5 0
1 5 0
0 4 2
1 4 2
1 4 0
1 6 7
|1
1
1
1
3
0
|
h3. Explicaţie
 
...
== include(page="template/taskfooter" task_id="citylog") ==
 
== include(page="template/taskfooter" task_id="citylog") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.