Pagini recente » Cod sursa (job #3205251) | Cod sursa (job #1052432) | Cod sursa (job #1476336) | Cod sursa (job #420342) | Cod sursa (job #2116266)
#include <fstream>
using namespace std;
int i,n,m,x,y,tip,T[100001];
int radacina(int i)
{
while(T[i]!=i)
i=T[i];
return T[i];
}
void uneste(int x,int y)
{
int p,q;
p=radacina(x);
q=radacina(y);
T[q]=p;
}
int main()
{
ifstream f("disjoint.in");
ofstream g("disjoint.out");
f>>n>>m;
for(i=1; i<=n; i++)
T[i]=i;
for(i=1; i<=m; i++)
{
f>>tip>>x>>y;
if(tip==1)
uneste(x,y);
if(tip==2)
if(radacina(x)==radacina(y))
g<<"DA\n";
else
g<<"NU\n";
}
return 0;
}