Cod sursa(job #1210000)

Utilizator pavlov.ionPavlov Ion pavlov.ion Data 18 iulie 2014 23:24:52
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
 #include<fstream>
 using namespace std;
 #define MAXN 100005
 ifstream cin("disjoint.in");
 ofstream cout("disjoint.out");
 int parent[MAXN],N,M;
  int Find(int x)
{
 	 while(parent[x]>0)
 	   x=parent[x];
 	   return x;
}
 void Union(int x, int y)
 {
  	 int rx=Find(x),ry=Find(y);
      if(rx!=ry)
	       parent[rx]=ry;
 }//end Union
 int main() {
 	 int i,x,y,q;
 	     cin>>N>>M;
 	 for(i=1;i<=M;i++){
	        cin>>q>>x>>y;
	        if(q==1) Union(x,y);
	        else if(Find(x)==Find(y)) cout<<"DA"<<"\n";
			           else cout<<"NU"<<"\n";  
   }//end for		 
return 0;
}