Pagini recente » Cod sursa (job #1897954) | Cod sursa (job #132148) | Cod sursa (job #2767483) | Cod sursa (job #1729807) | 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;
}