Pagini recente » Cod sursa (job #3171230) | Cod sursa (job #3150926) | Cod sursa (job #1344491) | Cod sursa (job #2887302) | Cod sursa (job #2544892)
#include<bits/stdc++.h>
using namespace std;
int n,x,y,a[100005],c,m;vector <int> v;
int find(int nod){
int ans=nod;
while(nod!=a[ans])nod=a[ans];
while(nod!=a[nod]){
int aux=a[nod];
a[nod]=ans;
nod=aux;
}
return ans;
}
void unirea_mare(int x,int y){
a[find(x)]=a[find(y)];
}
int main(){
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
cin>>n>>m;
for(int i=1;i<=n;i++)a[i]=i;
for(int i=1;i<=m;i++){
cin>>c>>x>>y;
switch(c){
case 1:unirea_mare(x,y);break;
case 2:if(find(x)==find(y))cout<<"DA"<<endl;else cout<<"NU"<<endl;break;
}
}
return 0;
}