Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/danhepai | Istoria paginii runda/pregatire_oji_ms_clasax/clasament | Istoria paginii runda/blat7/clasament | Cod sursa (job #1239096)
#include <fstream>
using namespace std;
int m,i,n,P[100005];
int rez,pa,pb,a,b,tip;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int parinte(int v)
{
if (v==P[v])
return v;
return parinte(P[v]);
}
int main()
{
f>>n>>m;
for (i=1;i<=n;i++)
P[i]=i;
rez=n;
for (i=1;i<=m;i++)
{
f>>tip;
if (tip==1)
{
f>>a>>b;
pa=parinte(a);
pb=parinte(b);
P[pa]=pb;
}
else if (tip==2)
{
f>>a>>b;
pa=parinte(a);
pb=parinte(b);
if (pa!=pb)
g<<"NU"<<'\n';
else
g<<"DA"<<'\n';
}
}
return 0;
}