Pagini recente » Cod sursa (job #2783565) | Cod sursa (job #3241457) | Cod sursa (job #1734340) | Cod sursa (job #2959512) | Cod sursa (job #2861496)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
vector <int> v[100011];
int n,m,i,j,C,x,y,fam[100011],aux;
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
{
fam[i]=i;
v[i].push_back(i);
}
for(i=1;i<=m;i++)
{
f>>C>>x>>y;
if(C==1)
{
if(v[fam[x]].size()<v[fam[y]].size())
{
aux=fam[x];
for(j=0;j<v[aux].size();j++)
{
fam[v[aux][j]]=fam[y];
v[fam[y]].push_back(v[aux][j]);
}
}
else
{
aux=fam[y];
for(j=0;j<v[aux].size();j++)
{
fam[v[aux][j]]=fam[x];
v[fam[x]].push_back(v[aux][j]);
}
}
}
else
{
if(fam[x]==fam[y])
g<<"DA"<<'\n';
else
g<<"NU"<<'\n';
}
}
return 0;
}