Pagini recente » Profil LERVS_Ciocan_Dragoi_Gemene | Cod sursa (job #2370762) | Cod sursa (job #1593623) | Cod sursa (job #267236) | Cod sursa (job #2696221)
#include <iostream>
#include <fstream>
#include <vector>
#define mac 100001
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int v[mac];
int m,n;
void make()
{
for(int i=1;i<=n;i++)
v[i]=i;
}
int rad(int x)
{
int t,s = x;
while(s != v[s])
s=v[s];
while(x!=s)
{
t=v[x];
v[x]=s;
x=t;
}
return s;
}
void add(int x,int y)
{
x=rad(x);
y=rad(y);
v[x]=y;
}
void ans_quest(int x,int y)
{
if(rad(x)==rad(y)) fout<<"DA"<<'\n';
else fout<<"NU"<<'\n';
}
void read()
{
fin>>n>>m;
make();
int q,x,y;
for(int i=1;i<=m;i++)
{
fin>>q>>x>>y;
if(q==1) add(x,y);
else ans_quest(x,y);
}
}
int main()
{
read();
return 0;
}