Pagini recente » Cod sursa (job #2133366) | Cod sursa (job #3191897) | Cod sursa (job #2533074) | Cod sursa (job #1122251) | Cod sursa (job #2281521)
#include <bits/stdc++.h>
#define dm 100005
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n, m, v[dm], a, x, y;
int parinte(int x)
{
if(v[x]==x)
return x;
else
return v[x]=parinte(v[x]);
}
void ad(int x, int y)
{
v[parinte(y)]=parinte(x);
}
int main()
{
f>>n>>m;
for(int i=1; i<=n; i++)
v[i]=i;
for(int i=1; i<=m; i++)
{
f>>a>>x>>y;
if(a==1)
{
ad(x, y);
}
else
if(a==2)
if(parinte(x)==parinte(y))
g<<"DA"<<endl;
else
g<<"NU"<<endl;
}
// for(int i=1; i<=n; i++)
// {
// cout<<i<<' '<<parinte(i)<<endl;
// }
return 0;
}