Pagini recente » Cod sursa (job #1933642) | Cod sursa (job #2535758) | Cod sursa (job #101935) | Cod sursa (job #3154425) | Cod sursa (job #724200)
Cod sursa(job #724200)
#include<fstream>
#include<vector>
#include<algorithm>
#define _NM 100010
using namespace std;
int main()
{
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
static vector<int> M[_NM];
static int e[_NM];
int nM, nOp;
fin>>nM>>nOp;
for (int i=1;i<=nM;i++)
{
M[i].push_back(i);
e[i]=i;
}
for (int i=1;i<=nOp;i++)
{
int op,x,y;
fin>>op>>x>>y;
if (op==1)
{
if (e[x]>e[y]) swap(x,y);
int e_x=e[x], e_y=e[y];
for (vector<int>::iterator it=M[e_y].begin();it!=M[e_y].end();++it)
{
M[e_x].push_back(*it);
e[*it]=e[x];
}
}
else
fout<<(e[x]==e[y]?"DA\n":"NU\n");
}
return 0;
}