Cod sursa(job #404777)

Utilizator alex@ndraAlexandra alex@ndra Data 26 februarie 2010 17:51:47
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
using namespace std;

int vect[100001],n;

void modifica(int x, int y)
{
	int multime1, multime2,i;
  multime1=vect[x];
  multime2=vect[y];
  
  for(i=1;i<=n;i++)
	if(vect[i]==multime2)
		vect[i]=multime1;

}

int main()
{
	int op,x,y,i,m;
	
    freopen("disjoint.in","r",stdin);
	freopen("disjoint.out","w",stdout);
	 scanf("%d%d",&n,&m);
	  
	for(i=1;i<=n;i++)
		vect[i]=i;
	  
	for(i=1;i<=m;i++)
	{
		scanf("%d%d%d",&op,&x,&y);
		
		if(op==1)
		  modifica(x,y);
		else
		{
		  if(vect[x]==vect[y])
	           printf("DA\n");
	      else
	          printf("NU\n");
		}
	}
	
 return 0;
}