Pagini recente » Diferente pentru problema/stiva intre reviziile 2 si 3 | Cod sursa (job #2539455) | Cod sursa (job #2321649) | Cod sursa (job #2240086) | Cod sursa (job #1333509)
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int i,N,M,c,x,y;
int v[100001];
int fi(int x){return (v[x]==x?x:fi(v[x]));}
void u(int x,int y){v[fi(x)]=fi(y);}
int main()
{
f>>N>>M;
for (i=1;i<=N;++i)v[i]=i;
while (M--)
{ f>>c>>x>>y;
if (c == 2)
if (fi(x)==fi(y))g<<"DA\n";else g<<"NU\n";
else u(x,y);
}
return 0;
}