Pagini recente » Cod sursa (job #1555056) | Cod sursa (job #1867402) | Cod sursa (job #331867) | Cod sursa (job #1344003) | Cod sursa (job #1645692)
#include<fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int *sp;
int n,m,x,y,cer;
int searc(int x)
{
if(sp[x]==x)
return x;
else
return sp[x]=searc(sp[x]);
}
void unite(int x,int y)
{
int tx=searc(x);
int ty=searc(y);
sp[tx]=ty;
}
int main()
{
f>>n>>m;
sp=new int[n+1];
for(int i=1;i<=n;i++)
sp[i]=i;
while(m)
{
m--;
f>>cer>>x>>y;
if(cer==1)
unite(x,y);
else
{
int tx=searc(x);
int ty=searc(y);
if(tx==ty)
g<<"DA\n";
else
g<<"NU\n";
}
}
return 0;
}