Pagini recente » Cod sursa (job #2210739) | Cod sursa (job #216523) | Cod sursa (job #38578) | Cod sursa (job #2865105) | Cod sursa (job #916922)
Cod sursa(job #916922)
#include<fstream>
#include<vector>
#include <stddef.h>
#define maxn 100001
using namespace std;
int N,M;
vector<int> V;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
void connectM(int x,int y){
while(V[x]) //tata
x=V[x];
while(V[y]) //fiu
y=V[y];
V[y]=x;
}
void afis(int x){
if(x)g<<"DA\n";
else g<<"NU\n";
}
void test(int x,int y){
while(V[x])
x=V[x];
while(V[y])
y=V[y];
if(x==y)
afis(1);
else
afis(0);
}
int main(){
int c,x,y;
f>>N>>M;
V.resize(N+1);
for(int i=0;i<M;i++){
f>>c>>x>>y;
if(c==1)
connectM(x,y);
else
test(x,y);
}
return 0;
}