Pagini recente » Rating Sasaujan Marian (yobun) | Cod sursa (job #3293629) | Istoria paginii problema/sport | Monitorul de evaluare | Cod sursa (job #3293438)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int parent[100001];
int findparent(int n)
{
vector<int>b;
while(parent[n]!=n)
{
b.push_back(n);
n=parent[n];
}
for(int i=0;i<b.size();i++)
parent[b[i]]=n;
return n;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr),cout.tie(nullptr);
int n,m,t,x,y;
fin>>n>>m;
for(int i=1;i<=n;i++)
parent[i]=i;
for(int i=1;i<=m;i++)
{
fin>>t>>x>>y;
if(t==1)
{
int parinte=findparent(x);
parent[parinte]=y;
}
else
{
bool r=(findparent(x)==findparent(y));
if(r==1)
fout<<"DA\n";
else fout<<"NU\n";
}
}
return 0;
}