Pagini recente » Cod sursa (job #3162667) | Cod sursa (job #36808) | Cod sursa (job #2751425) | Cod sursa (job #32951) | Cod sursa (job #281449)
Cod sursa(job #281449)
#include<fstream>
#include<vector>
using namespace std;
int main() {
ifstream fin; fin.open("disjoint.in");
ofstream fout; fout.open("disjoint.out");
int n,m;
fin>>n>>m;
vector<int> T(n,0);
vector<int> H(n,1);
for(int i=0; i<n; i++)
T[i]=i;
int t,x,y;
while(m--) {
fin>>t>>x>>y;
for(x--;T[x]!=x; x=T[x]);
for(y--;T[y]!=y; y=T[y]);
if(t==1) {
if(H[x]==H[y]) H[x]++;
if(H[x]<H[y]) {
T[x]=y;
continue;
}
T[y]=x;
} else {
if(x==y)
fout<<"DA\n";
else
fout<<"NU\n";
}
}
fin.close();
fout.close();
return 0;
}