Pagini recente » Cod sursa (job #2630906) | Cod sursa (job #274939) | Cod sursa (job #2258588) | Cod sursa (job #3153997) | Cod sursa (job #1563191)
#include<fstream>
#define Nmax 100000
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,t,x,y,padure[Nmax],v[Nmax];
void reuniune(int x,int y)
{padure[x]=y;
}
int cautaradix(int x)
{while(x!=padure[x])
x=padure[x];
return x;
}
int main()
{int i,j;
f>>n>>m;
for(i=1;i<=Nmax;i++)
padure[i]=i;
for(i=1;i<=m;i++)
{f>>t>>x>>y;
if(t==1)
reuniune(x,y);
else
if(cautaradix(x)==cautaradix(y))
g<<"DA"<<padure[x]<<padure[y]<<'\n';
else
g<<"NU"<<padure[x]<<padure[y]<<'\n';
}
return 0;
}