Pagini recente » Cod sursa (job #2757574) | Istoria paginii runda/luca_oji2 | Cod sursa (job #2917464) | Cod sursa (job #322441) | Cod sursa (job #2657977)
#include <fstream>
using namespace std;
int n, m, i, j, k , l, v[1000000],x, y;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int main()
{
f >> n >> m;
for(i = 1; i <= n; i ++)
{
v[i] = 0;
}
k = 1;
for(i = 1; i <= m; i ++)
{
f >> j;
if(j == 1)
{
f >> x >> y;
if(v[x] == 0 && v[y] == 0)
v[x] = k, v[y] = k, k ++;
if(v[x] == 0 && v[y] != 0) v[x] = v[y];
if(v[y] == 0 && v[x] != 0) v[y] = v[x];
if(v[x] != v[y])
{
if(v[x] < v[y])
for(l = 1; l <= m; l ++)
if(v[l] == v[y])
v[l] = v[x];
else
for(l = 1; l <= m; l ++)
if(v[l] == v[x])
v[l] = v[y];
}
}
else
{
f >> x >> y;
if(x == y) g << "DA" << '\n';
else
if(v[x] == v[y] && v[x] != 0) g << "DA" <<'\n';
else g << "NU" << '\n';
}
}
}