Pagini recente » Cod sursa (job #1833645) | Cod sursa (job #288935) | Cod sursa (job #1840554) | Cod sursa (job #1245149) | Cod sursa (job #982634)
Cod sursa(job #982634)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,m,v[100001],dim[100001];
void reunion (int x,int y)
{
int temp;
if (dim[x]<dim[y])
{
temp=x;
x=y;
y=temp;
}
while (v[x]!=0) x=v[x];
while (y!=0)
{
temp=v[y];
v[y]=x;
y=temp;
}
}
void discern (int x,int y)
{
while (v[x]!=0) x=v[x];
while (v[y]!=0) y=v[y];
if (x==y) fout<<"DA";
else fout<<"NU";
fout<<"\n";
}
int main()
{
int o,x,y,i;
fin>>n>>m;
for (int i=1; i<=n; i++) dim[i]=1;
for (i=1;i<=m;i++)
{
fin>>o>>x>>y;
if(o==1) reunion (x,y);
else discern (x,y);
}
}