| Fișierul intrare/ieșire | disjoint.in, disjoint.out | Sursă | Infoarena |
|---|---|---|---|
| Autor | teorie | Adăugată de |
|
| Timp de execuție pe test | 0.05 sec | Limită de memorie | 16384 KB |
| Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Disjoint
Se dau N mulțimi de numere, inițial fiecare mulțime i conținând un singur element, mai exact elementul i. Asupra acestor mulțimi se pot face 2 tipuri de operații, astfel:
- operația de tipul 1: se dau două numere naturale x si y, între 1 și N. Se cere să se reunească mulțimile în care se află elementul x, respectiv elementul y (se garantează că x și y nu se vor afla în aceeași mulțime)
- operația de tipul 2: se dau două numere naturale x și y, între 1 și N. Se cere să se afișeze DA dacă cele 2 elemente se află în aceeași mulțime, respectiv NU în caz contrar.
Date de intrare
Pe prima linie a fișierului de intrare disjoint.in se vor afla 2 numere, N și M, reprezentând numărul de mulțimi, respectiv numărul de operații efectuate. Pe următoarele M linii se vor afla câte 3 numere, cod, x și y, cod reprezentând tipul operației, iar x și y având semnificația din enunț.
Date de ieșire
În fișierul de ieșire disjoint.out se vor afișa mai multe linii, fiecare linie conținând DA sau NU, reprezentând răspunsul la interogarea corespunzătoare din fișierul de intrare.
Restricții
- 1 ≤ N ≤ 100 000
- 1 ≤ M ≤ 100 000
Exemplu
| disjoint.in | disjoint.out |
|---|---|
| 4 6 1 1 2 1 3 4 2 1 3 2 1 2 1 1 3 2 1 4 |
NU DA DA |


Poți vedea testele pentru această problemă accesând