Pagini recente » Cod sursa (job #1210993) | Cod sursa (job #355118) | Cod sursa (job #2801221) | Cod sursa (job #2084178) | Cod sursa (job #2932630)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
vector<vector<int>> multimi;
vector<int> multime;
int main()
{
int n,m,op,x,y;
fin>>n>>m;
multime.resize(n+1);
multimi.resize(n+1);
for(int i=1; i<=n; i++)
{
multime[i] = i; // initializam multimile cu elementul propriu
multimi[i].push_back(i);
}
for(int i=1; i<=m; i++)
{
fin>>op>>x>>y;
if(op == 1)
{
int mult = multime[x];
for(int j=0; j<multimi[y].size(); j++)
{
multimi[x].push_back(multimi[y][j]);
multime[multimi[y][j]] = mult;
}
multimi[y].clear();
}
else
{
if(multime[x] == multime[y])
fout<<"DA"<<'\n';
else
fout<<"NU"<<'\n';
}
}
return 0;
}