Fișierul intrare/ieșire disjoint.in, disjoint.out Sursă Infoarena
Autor teorie Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.05 sec Limită de memorie 16384 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 1 categorii