Pagini recente » Cod sursa (job #2897363) | Cod sursa (job #3212282) | Cod sursa (job #2436923) | Cod sursa (job #1170810) | Cod sursa (job #1416174)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n, m, tata[100001];
int find_tata(int x)
{
if(tata[x]==x)
return x;
int t=find_tata(tata[x]);
tata[x]=t;
return t;
}
int main()
{
fin>>n>>m;
for(int i=1; i<=n; ++i)
tata[i]=i;
for(int mi=1; mi<=m; ++mi)
{
int t, x, y;
fin>>t>>x>>y;
int tx, ty;
tx=find_tata(x);
ty=find_tata(y);
if(t==1)
tata[tx]=ty;
else
{
if(tata[x]==tata[y])
fout<<"DA\n";
else
fout<<"NU\n";
}
}
return 0;
}