Cod sursa(job #662871)

Utilizator alexzahazaharia alexandru alexzaha Data 17 ianuarie 2012 09:02:44
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>
#define max 100001
using namespace std;
int a,b,c,d,e,v[max];
int gaseste(int b)
{
    if (v[b]!=b)
    {
      v[b]=gaseste(v[b]);
    }
      return v[b];
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&a,&b);
while(a--)
  {
    v[a]=a;
  }
while(b--)
{
          scanf("%d%d%d",&c,&d,&e);
          if(c==1)
          v[gaseste(c)]==gaseste(d);
          else
          {
              if(gaseste(c)==gaseste(d))
              printf("DA \n");
              else
              printf("NU \n");
          }
}
fclose(stdin);
fclose(stdout);
return 0;
}