Cod sursa(job #1418769)

Utilizator alex_bucevschiBucevschi Alexandru alex_bucevschi Data 13 aprilie 2015 23:13:39
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
//FLC&MLN
#define N 100010
using namespace std;
int n, m, T[N], cod, x, y, i;
int find(int val)
{
    if(T[val] != val)
        T[val] = find(T[val]);
    return T[val];
}
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", &cod, &x, &y);
        x = find(x);
        y = find(y);
        if(cod == 1)
            T[x] = y;
        if(cod == 2)
            x == y ? printf("DA\n") : printf("NU\n");
    }
    return 0;
}