Cod sursa(job #899995)

Utilizator thebest001Neagu Rares Florian thebest001 Data 28 februarie 2013 17:15:42
Problema Paduri de multimi disjuncte Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>

short f[100001];

void DUMPNOW(int n){
printf("NOW: ");
for (int i=1;i<=n;i++){printf("%d ",f[i]);}
printf("\n");
}

int main(){

   freopen("disjoint.in","r",stdin);
   freopen("disjoint.out","w",stdout);

   int n,m,i,j;
   scanf("%d %d",&n,&m);

   for (i=1;i<=n;i++) f[i]=i;

   for (i=1;i<=m;i++){
      int x,y,z;
      scanf("%d %d %d",&x,&y,&z);
      if (x==1){
         int from,to;from=f[y];to=f[z];
         for (j=1;j<=n;j++){
            if (f[j]==from)
               f[j]=to;
         }
 //       printf("(%d -> %d) ",y,z);DUMPNOW(n);
      }
      if (x==2)
         if (f[y]==f[z])printf("DA\n");  else printf("NU\n");
   }

   return 0;


}