Cod sursa(job #277042)

Utilizator sigridMaria Stanciu sigrid Data 11 martie 2009 14:42:51
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
#define dim 100001

int comp[dim];

int main()
{
int n,x,m,i,y,nr,c,cc,j;

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

scanf("%d %d", &n, &m);

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

for(i=1;i<=m;i++)
 {
  scanf("%d %d %d", &nr, &x ,&y);

  if(nr==1)
   {
    if(comp[x]<comp[y])
     {
      c=comp[x];

      cc=comp[y];
     }
     else
      {
       c=comp[y];

       cc=comp[x];
      }

    for(j=1;j<=n;j++)
     if(comp[j]==cc) comp[j]=c;
   }
   else if(comp[x]==comp[y]) printf("DA\n");
	  else printf("NU\n");
 }


return 0;
}