Cod sursa(job #661334)

Utilizator razvan2006razvan brezulianu razvan2006 Data 14 ianuarie 2012 12:31:41
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
using namespace std;
int a,a1,a2,a3,a4,dad[100001];
int find(int a0)
{if(dad[a0]!=a0)
   {dad[a0]=find(dad[a0]);}
return dad[a0];}
int main()
{freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&a,&a1);
while(a--)
 {dad[a]=a;}
while(a1--)
{scanf("%d%d%d",&a2,&a3,&a4);
if(a2==1)
dad[find(a3)]=find(a4);
 else 
{if(find(a3)==find(a4))
  printf("DA\n");
else
 printf("NU\n");}}
fclose(stdin);		  
fclose(stdout);		  
return 0; }