Mai intai trebuie sa te autentifici.
Diferente pentru problema/gossips intre reviziile #1 si #5
Diferente intre titluri:
gossips
Gossips
Diferente intre continut:
== include(page="template/taskheader" task_id="gossips") ==
Poveste şi cerinţă...
Poli este în primul an la facultate. Chiar dacă s-a dus la una dintre cele mai bune universităţi ea şi-a dat seama repede că toţi colegii săi s-au împărţit în $N$ grupuri de prieteni, principalul scop al acestor grupuri fiind răspândirea bârfelor. Poli ştie că fiecare grup $i$ este format din unul sau mai multe subgrupuri astfel încât orice subgrup poate face parte doar dintr-un singur grup. Să presupunem că un grup $i$ află o bârfă despre un grup $j$: atunci toate subgrupurile lui $i$ (şi subgrupurile subgrupurilor acestuia, etc.) şi toate grupurile din care $i$ face parte ştiu bârfa despre grupul $j$. De asemenea, toate aceste grupuri ştiu bârfa despre fiecare grup pentru care grupul $j$ este parte a sa (dar nu ştiu nimic despre subgrupurile lui $j$, deoarece acei membri s-ar putea să nu fie implicaţi în bârfă). Deoarece Poli este prietenă cu cu fiecare din colegii săi, ea ştie atunci când apare o bârfa (adică atunci când un grup $i$ găseşte o bârfă despre un grup $j$). Acum ea doreşte să poată răspunde rapid la întrebări de forma: “Ştie grupul $i$ o bârfă despre grupul $j$?”. Din păcate facultatea lui Poli este cam mare, aşa că voi trebuie să o ajutaţi.
h2. Date de intrare
Fişierul de intrare $gossips.in$ ...
Pe prima linie a fişierului $gossips.in$ se află trei numere $N$ – numărul de grupuri, $M$ – numărul de relaţii între grupuri şi $Q$ – numărul de query-uri. Următoarele $M$ linii sunt de forma $a b$ semnificând că grupul $b$ face parte din grupul $a$. Următoarele $Q$ linii au fiecare trei numere: $s$ – tipul query-ului şi $x y$ – două grupuri, Dacă $s$ este $1$ atunci trebuie să răspundeţi cu “{$YES$}” dacă grupul $x$ ştie cel putin o bârfă despre grupul $y$ sau “{$NO$}” în caz contrar. Daca $s$ este $2$ atunci grupul $x$ tocmai a aflat o bârfa despre grupul $y$.
h2. Date de ieşire
În fişierul de ieşire $gossips.out$ ...
Fişierul $gossips.out$ trebuie să conţină mai multe linii, câte una pentru fiecare query de tipul $1$, fiecare linie fiind “{$YES$}” sau “{$NO$}” (fără ghilimele).
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N, Q ≤ 100.000$ * $1 ≤ M < N$ * $1 ≤ x, y ≤ N$ * dacă un grup $i$ cunoaşte o bârfă despre un grup $j$ nu înseamnă că şi $j$ cunoaşte o bârfă despre $i$
h2. Exemplu table(example). |_. gossips.in |_. gossips.out |
| This is some text written on multiple lines. | This is another text written on multiple lines.
| 9 7 7 6 1 6 2 7 6 7 3 8 4 8 5 9 7 2 6 4 2 8 6 1 2 4 1 2 5 1 4 7 1 8 1 1 5 9 | YES NO YES NO YES
|
h3. Explicaţie ...
== include(page="template/taskfooter" task_id="gossips") ==
Nu exista diferente intre securitate.
Diferente intre topic forum:
5346