Pagini recente » Cod sursa (job #340155) | Cod sursa (job #396693) | Cod sursa (job #1615125) | Cod sursa (job #2842036) | Cod sursa (job #1950248)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n, el, i, f[100002],c,a,b,j;
int calc(int nod)
{
while(f[nod]>=0)
nod=f[nod];
return nod;
}
int main(){
fin>>el>>n;
for(i=1;i<=el;i++)
f[i]=-1;
for(i=1;i<=n;i++)
{
fin>>c>>a>>b;
if(c==1)
{
if(f[a]>=f[b])
{
f[a]+=f[b];
f[b]=a;
}
else
{
f[b]+=f[a];
f[a]=b;
}
}
else
{
if(calc(a)==calc(b))
fout<<"DA\n";
else
fout<<"NU\n";
}
for(j=1;j<=el;j++)
fout<<f[j]<<" ";
fout<<"\n";
}
fin.close();
fout.close();
return 0;
}