Cod sursa(job #227545)

Utilizator filipbFilip Cristian Buruiana filipb Data 4 decembrie 2008 21:08:47
Problema Paduri de multimi disjuncte Scor Ascuns
Compilator cpp Status done
Runda Marime 0.66 kb
#include <stdio.h>

int N, M, n, set[100005];

int main()
{
    int i, j, k, l, i1, i2;
    
    freopen("disjoint.in", "r", stdin);
    freopen("disjoint.out", "w", stdout);
    
    scanf("%d %d", &N, &M);
    for (n = N, i = 1; i <= N; ++i)
        set[i] = i;
    for (; M; --M)
    {
        scanf("%d %d %d", &i, &j, &k);
        i1 = set[j]; i2 = set[k];
        if (i == 1)
        {
              ++n;
              for (l = 1; l <= N; ++l)
                  if (set[l] == i1 || set[l] == i2)
                     set[l] = n;
              continue;
        }
        printf("%s\n", i1 == i2 ? "DA" : "NU");
    }
        
    return 0;
}