Cod sursa(job #2203223)
Utilizator | Luca Perju Verzotti lucaperju | Data | 11 mai 2018 15:52:33 |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream in ("disjoint.in");
ofstream out ("disjoint.out");
int t[100005];
int tata (int poz)
{
if(t[poz]==0)
return poz;
t[poz]=tata(t[poz]);
return t[poz];
}
int main()
{
int n,m,i,x,a,b;
in>>n>>m;
for(i=1;i<=m;i++)
{
in>>x>>a>>b;
if(x==1)
t[tata(a)]=b;
else
{
if(tata(a)==tata(b))
out<<"DA"<<'\n';
else
out<<"NU"<<'\n';
}
}
return 0;
}