Pagini recente » Cod sursa (job #1787558) | Cod sursa (job #1060062) | Cod sursa (job #1812326) | Cod sursa (job #716109) | Cod sursa (job #2426417)
#include <bits/stdc++.h>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
const int NMAX = 100005;
int n,m,cod;
bool ok,viz[NMAX];
vector <int> v[NMAX];
void dfs(int nod, int target){
int i;
if(nod == target)
ok = 1;
viz[nod] = 1;
for(i = 0 ; i < v[nod].size() && !ok; i++)
if(!viz[v[nod][i]])
dfs(v[nod][i], target);
}
int main(){
int i,x,y,j;
f >> n >> m;
for(i = 1 ; i <= m ; i++){
f >> cod >> x >> y;
if(cod == 1){
v[x].push_back(y);
v[y].push_back(x);
}
else{
ok = 0;
dfs(x,y);
if(ok)
g << "DA\n";
else
g << "NU\n";
for(j = 1 ; j <= n ; j++)
viz[j] = 0;
}
}
}