Pagini recente » Cod sursa (job #879443) | Cod sursa (job #1633074) | Cod sursa (job #2067104) | Cod sursa (job #2755060) | Cod sursa (job #2295994)
#include <fstream>
#define nmax 100001
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,a[nmax];
int m;
int t[nmax];
int Find(int i)
{ if(t[i]==-1) return i;
else Find(t[i]);
}
void Union(int x,int y)
{ int Mx=Find(x);
int My=Find(y);
t[Mx]=My;
}
int main()
{ fin>>n>>m;
int i,q,x,y;
for(i=1; i<=n; i++) t[i]=-1;
for(i=1; i<=m; i++)
{ fin>>q>>x>>y;
if(q==1) Union(x,y);
if(q==2)
{ if(Find(x)==Find(y)) fout<<"DA";
else fout<<"NU";
fout<<"\n";
}
}
return 0;
}