Pagini recente » Cod sursa (job #1260993) | Cod sursa (job #354989) | Cod sursa (job #114629) | Cod sursa (job #2550359) | Cod sursa (job #2944044)
#include <fstream>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int n, m, colors[100001];
bool check(int nodmare, int nodmic){
if(colors[nodmare] == nodmare){
return (colors[nodmare] == colors[nodmic]);
}
check(max(colors[nodmare], nodmic), min(colors[nodmare],nodmic));
colors[nodmare] = colors[colors[nodmare]];
return (colors[nodmare] == colors[nodmic]);
}
int main() {
in >> n >> m;
for(int i = 1; i <= n; i++){
colors[i] = i;
}
int nr, a, b;
while(m--){
in >> nr >> a >> b;
if(nr == 1){
colors[max(a,b)] = min(a, b);
}
else
{
out << (check(max(a, b), min(a, b)) ? "DA" : "NU") << '\n';
}
}
return 0;
}