Pagini recente » Cod sursa (job #1570790) | Cod sursa (job #1244641) | Cod sursa (job #1204574) | Cod sursa (job #931147) | Cod sursa (job #2940745)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n, m;
int culoare[100001];
void reuneste(int i, int j){
int r1, r2;
r1 = culoare[i];
r2 = culoare[j];
for(int k = 1; k<=n; k++)
if(culoare[k]==r2)
culoare[k] = r1;
}
int main()
{
fin>>n>>m;
for(int i = 1; i <=n; i++)
culoare[i] = i;
for(int i = 0; i < m; i++){
int op, x, y;
fin>>op>>x>>y;
if(op==1){
reuneste(x, y);
}
else{
if(culoare[x] == culoare [y])
fout<<"DA";
else
fout<<"NU";
fout<<"\n";
}
}
return 0;
}