Pagini recente » Cod sursa (job #2484242) | Cod sursa (job #2096172) | Cod sursa (job #3138228) | Cod sursa (job #2552562) | Cod sursa (job #1374570)
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int x, y, n, m, operatie, gr[100005];
int grupa(int nod)
{
if (gr[nod]==nod) return gr[nod];
gr[nod]=grupa(gr[nod]);
return gr[nod];
}
void combina(int x, int y)
{
gr[grupa(x)]=grupa(y);
}
int main()
{
f >> n >> m;
for (int i=1; i<=n; ++i) gr[i]=i;
for(int i=1; i<=m; i++)
{
f >> operatie >> x >> y;
if (operatie==1) combina(x, y);
else
{
if (grupa(x)==grupa(y)) g<<"DA\n";
else g<<"NU\n";
}
}
return 0;
}