Pagini recente » Cod sursa (job #499527) | Cod sursa (job #2471555) | Cod sursa (job #2532463) | Cod sursa (job #1926388) | Cod sursa (job #1790279)
#include <fstream>
#include <vector>
#define VAL 100005
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int N, M, i, j;
int poz[VAL];
int op, a, b, x, y;
vector<int> v[VAL];
vector<int>:: iterator it;
int main()
{
fin >> N >> M;
for (i=1; i<=N; i++)
{
v[i].push_back(i);
poz[i]=i;
}
for (i=1; i<=M; i++)
{
fin >> op >> a >> b;
if (op==2)
{
if (poz[a]==poz[b])
fout << "DA\n";
else
fout << "NU\n";
}
else
{
x=poz[a];
y=poz[b];
for (it=v[y].begin(); it!=v[y].end(); it++)
{
poz[*it]=x;
v[x].push_back(*it);
}
v[y].clear();
}
}
fin.close();
fout.close();
return 0;
}