Pagini recente » Cod sursa (job #315872) | Cod sursa (job #1212058) | Cod sursa (job #483455) | Cod sursa (job #1732763) | Cod sursa (job #662269)
Cod sursa(job #662269)
#include <fstream>
using namespace std;
const int N=100005;
int n,m,x,y,cod,v[N],h[N];
int rad(int a)
{
while(v[a]!=0)
a=v[a];
return a;
}
void compresie(int a , int r)
{ int p;
while(a!=r)
{ p=v[a];
v[a]=r;
a=p;
}
}
void first()
{
//if(h[x]>h[y])
v[rad(y)]=rad(x);
//else
// v[rad(x)]=rad(y);
compresie(x,rad(x));
compresie(y,rad(y));
}
int second()
{
if(rad(x)==rad(y))
return 1;
return 0;
}
int main()
{
fstream f("disjoint.in",ios::in);
fstream g("disjoint.out",ios::out);
f>>n>>m;
for(int i=1;i<=m;i++)
{
f>>cod>>x>>y;
if(cod==1)
first();
else
{if(second()==1) g<<"DA\n";
else
g<<"NU\n";
}
}
return 0;
}