Pagini recente » Cod sursa (job #13885) | Cod sursa (job #2899967) | Cod sursa (job #253738) | Cod sursa (job #22119) | Cod sursa (job #2957433)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
const int NMAX=500;
int T[NMAX+1];
int radacina(int k){
if(T[k] == k)
return k;
else
return radacina(T[k]);
}
void leaga(int x,int y)
{
T[y]=x;
}
int main()
{
int N,M,op,x,y,cx,cy;
f>>N>>M;
for(int i=1;i<=N;i++)
T[i]=i;
while(M--)
{
f>>op>>x>>y;
///cout<<op<<' '<<x<<' '<<y<<'\n';
int r1=radacina(x);
int r2=radacina(y);
///cout<<r1<<' '<<r2<<'\n';
if(op==1&&r1!=r2)
leaga(r1,r2);
else if(op==2)
{
if(r1==r2)
g<<"DA\n";
else g<<"NU\n";
}
///cout<<op<<' '<<x<<' '<<y<<'\n';
}
return 0;
}