Pagini recente » Cod sursa (job #3259089) | Cod sursa (job #3270665) | Cod sursa (job #1966399) | Cod sursa (job #3222262) | Cod sursa (job #2787655)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("date.in");
ofstream g ("date.out");
int parinte[100005];
int n,q;
void unire(int x, int y)
{
parinte[y]=x;
}
int Find(int x)
{
int par=x;
int aux;
while(par!=0)
{
aux=par;
par=parinte[par];
}
par=x;
int aux2;
while(par!=0)
{
aux2=par;
par=parinte[par];
if(par!=aux)
parinte[par]=aux;
}
return aux;
}
int main()
{
f>>n>>q;
for(int query=1; query<=q; ++query)
{
int tip;
f>>tip;
if(tip==1)
{
int x ;
int y;
f>>x>>y;
unire(x, y);
}
if (tip==2)
{
int x, y;
f>>x>>y;
int tata1=Find(x);
int tata2=Find(y);
if(tata1==tata2)
{
g<<"DA"<<"\n";
}
else
g<<"NU"<<"\n";
}
}
return 0;
}