Pagini recente » Cod sursa (job #2076943) | Cod sursa (job #1973488) | Cod sursa (job #1373806) | Cod sursa (job #1569874) | Cod sursa (job #2075057)
#include <fstream>
#include <algorithm>
#include <vector>
#define st second.first
#define dr second.second
#define cost first
#define din 200000
#define dim 100000
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
vector <int> l[dim];
int n,m,i,x,y,z;
bool viz[dim];
void golire()
{
for(int i = 1; i <= n; i ++)
viz[i] = 0;
}
void dfs(int x)
{
viz[x] = 1;
for(int i = 0; i < l[x].size(); i ++)
{
if(!viz[l[x][i]])
dfs(l[x][i]);
}
}
int main()
{
f >> n >> m;
for(i = 1; i <= m; i ++)
{
f >> z >> x >> y;
if(z == 1)
{
l[x].push_back(y);
l[y].push_back(x);
}
else
{
golire();
dfs(x);
if(viz[y])
g << "DA\n";
else
g<<"NU\n";
}
}
return 0;
}