Pagini recente » Cod sursa (job #149033) | Cod sursa (job #1047664) | Cod sursa (job #1049192) | Cod sursa (job #1858792) | Cod sursa (job #2932632)
#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 mult1 = multime[x];
int mult2 = multime[y];
for(int j=0; j<multimi[mult2].size(); j++)
{
multimi[mult1].push_back(multimi[mult2][j]);
multime[multimi[mult2][j]] = mult1;
}
multimi[mult2].clear();
}
else
{
if(multime[x] == multime[y])
fout<<"DA"<<'\n';
else
fout<<"NU"<<'\n';
}
}
return 0;
}