Pagini recente » Cod sursa (job #2512119) | Cod sursa (job #2522395) | Cod sursa (job #1974295) | Cod sursa (job #2522388) | Cod sursa (job #1417169)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,x,y,cod,i;
vector<int> a;
void uneste(int x,int y){
while(a[y]!=y){
y = a[y];
}
a[y] = x;
}
void gaseste(int x,int y){
int m1,m2;
while(a[x]!=x){
x = a[x];
}
m1 = a[x];
while(a[y]!=y){
y = a[y];
}
m2 = a[y];
if (m1==m2)
g<<"DA\n";
else
g<<"NU\n";
}
int main(){
f>>n>>m;
for (i=0;i<=n;i++)
a.push_back(i);
for (i=0;i<m;i++){
f>>cod>>x>>y;
if (cod==1){
uneste(x,y);
}
else if (cod==2){
gaseste(x,y);
}
}
return 0;
}