Cod sursa(job #288846)

Utilizator gggbbbyyyDarkMan gggbbbyyy Data 26 martie 2009 10:04:25
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream.h>
int n,m,i,x,y,operatie,j;
int v[100010];

int main()
{
ifstream f("disjoint.in");
ofstream g("disjoint.out");

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


for(i=1;i<=m;i++)
 { f>>operatie>>x>>y;

    if(operatie==1)
      {   while(v[x]!=x) x=v[x];
	  while(v[y]!=y) y=v[y];

	  v[y]=x;
      }

      else
	{ while(v[x]!=x) x=v[x];
	  while(v[y]!=y) y=v[y];

	 if(x==y)

	 g<<"DA"<<'\n';
	  else g<<"NU"<<'\n';
	}
 }
f.close();
g.close();
return 0;
}