Pagini recente » Cod sursa (job #1468776) | Cod sursa (job #2275410) | Cod sursa (job #2508207) | Cod sursa (job #195691) | Cod sursa (job #3185735)
#include <bits/stdc++.h>
#define NMAX 100001
typedef long long ll;
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
vector <int> dsu[NMAX];
ll n, m, comp[NMAX], cod, x, y;
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
{
comp[i]=i;
dsu[i].push_back(i);
}
for(int i=1;i<=m;i++)
{
fin>>cod>>x>>y;
if(cod==1)
{
int c1=comp[x];
int c2=comp[y];
if(dsu[c1].size()<=dsu[c2].size())
swap(c1, c2);
for(int j=0;j<dsu[c2].size();j++)
{
dsu[c1].push_back(dsu[c2][j]);
comp[dsu[c2][j]]=c1;
}
}
else
{
if(comp[x]==comp[y])
fout<<"DA"<<'\n';
else
fout<<"NU"<<'\n';
}
}
return 0;
}