Cod sursa(job #658482)

Utilizator caramete_tCaramete Tiberiu caramete_t Data 8 ianuarie 2012 21:57:04
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
#include<iostream>
using namespace std;
int a,a1,a2,a3,a4,dad[100001];
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int find(int a0)
{if(dad[a0]!=a0)
   {dad[a0]=find(dad[a0]);}
return dad[a0];}
int main()
{f>>a>>a1;
while(a--)
 {dad[a]=a;}
while(a1--)
{f>>a2>>a3>>a4;
if(a2==1)
dad[find(a3)]=find(a4);
 else 
{if(find(a3)==find(a4))
  g<<"DA"<<endl;
else
 g<<"NU"<<endl;}}
f.close();		  
g.close();	  
return 0; }