Cod sursa(job #1404704)

Utilizator 4ONI2015oni2015 4ONI2015 Data 28 martie 2015 14:27:16
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;
int t[100005], x, y, n, tip, m, i;
int find(int x)
{
    if(t[x] != x)
        t[x] = find(t[x]);
    return t[x];
}
int main()
{
    freopen("disjoint.in", "r", stdin);
    freopen("disjoint.out", "w", stdout);
    scanf("%d%d", &n, &m);
    for(i = 1; i <= n; i++)
        t[i] = i;
    for(; m; m--)
    {
        scanf("%d%d%d", &tip, &x, &y);
        x = find(x);
        y = find(y);
        if(tip == 1)
            t[x] = y;
        else
            x == y ? printf("DA\n") : printf("NU\n");

    }
    return 0;
}