Pagini recente » Cod sursa (job #675737) | Cod sursa (job #2563414) | Cod sursa (job #2354038) | Cod sursa (job #2154614) | Cod sursa (job #2443089)
#include<fstream>
using namespace std;
int tata[100001],i,n,m,t,x,y;
int find(int x)
{
while(x!=tata[x]) x=tata[x];
return tata[x];
}
void Union(int x, int y)
{
int tx,ty;
tx=find(x);
ty=find(y);
if(ty!=tx) tata[ty]=tx;
else tata[tx]=ty;
}
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int main()
{
fin>>n>>m;
for(i=1;i<=n;++i)
tata[i]=i;
while(m--)
{
fin>>t>>x>>y;
if(t==1) Union(x,y);
else if(find(x)!=find(y)) fout<<"NU"<<"\n";
else fout<<"DA"<<"\n";
}
return 0;
}