Pagini recente » Cod sursa (job #2642856) | Cod sursa (job #2634009) | Cod sursa (job #1021053) | Cod sursa (job #3122779) | Cod sursa (job #703925)
Cod sursa(job #703925)
#include<fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
# define nmax 100002
int T[nmax],N,M;
void f1(int i, int j)
{
int k;
k=i;
while(T[i]!=i) i=T[i];
T[k]=i;
while(T[j]!=j) j=T[j], T[j]=i;
T[j]=i;
}
void f2(int i, int j)
{
while(T[i]!=i) i=T[i];
while(T[j]!=j) j=T[j];
if(i==j) g<<"DA\n";
else g<<"NU\n";
}
int main()
{
f>>N>>M;
int cod,x,y;
for(cod=1;cod<=N;++cod)
T[cod]=cod;
for(;M;--M)
{
f>>cod>>x>>y;
if(cod==1) f1(x,y);
if(cod==2) f2(x,y);
}
return 0;
}