Pagini recente » Cod sursa (job #1682687) | Cod sursa (job #171948) | Cod sursa (job #668766) | Cod sursa (job #1291138) | Cod sursa (job #1520768)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
const int MAX = 100005;
int n,v[MAX];
inline int grup(int x)
{
while(x != v[x]){
x = v[x];
}
return x;
}
inline int legatura(int x,int y)
{
while(v[x] != v[y] || v[y] == y){
y = v[y];
}
if(x == v[y])
return 1;
return 0;
}
int main()
{
int m,p,x,y;
fin >> n >> m;
for(int i = 1; i <= n; i++)
v[i] = i;
for(int i = 1; i <= m; i++){
fin >> p >> x >> y;
if(p == 1){
if(grup(x) != grup(y)){
v[y] = x;
}
} else {
if(grup(x) == grup(y))
fout << "DA" << "\n";
else
fout << "NU" << "\n";
}
}
return 0;
}