Pagini recente » Cod sursa (job #2598569) | Cod sursa (job #357007) | Cod sursa (job #146039) | Cod sursa (job #660060) | Cod sursa (job #2077294)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
const int NMAX = 100002;
int root[NMAX];
int find_father(int x)
{
if(root[x]==x)
return x;
else
return find_father(root[x]);
}
int main()
{
int nodes,t;
in>>nodes>>t;
for(int i=1;i<=nodes;i++)
{
root[i]=i;
}
for(int i=1;i<=t;i++)
{
int p;
in>>p;
if(p==1)
{
int x,y;
in>>x>>y;
root[x]=find_father(x);
root[y]=find_father(y);
root[x]=root[y];
}
else
{
int x,y;
in>>x>>y;
if(find_father(x)==find_father(y))
{
out<<"DA"<<'\n';
}
else
{
out<<"NU"<<'\n';
}
}
}
}