Pagini recente » Istoria paginii runda/9a.info/clasament | Cod sursa (job #1816249) | Cod sursa (job #965178) | Cod sursa (job #1622892) | Cod sursa (job #657885)
Cod sursa(job #657885)
#include<fstream>
#define NMAX 100010
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n, m, i, t[NMAX], h[NMAX], tu, tv, op, u, v;
int tata(int nod)
{
if (t[nod]!=-1) return tata(t[nod]);
return nod;
}
int main()
{
f>>n>>m;
for (i=1; i<=n; ++i) t[i]=-1, h[i]=1;
while(m--)
{
f>>op>>u>>v;
if (op==2)
if (tata(u)==tata(v)) g<<"DA\n"; else g<<"NU\n";
else
{
tu=tata(u);
tv=tata(v);
if (h[tu]==h[tv]) t[tv]=tu, ++h[tu];
else if (h[tu]>h[tv]) t[tv]=tu;
else t[tu]=tv;
}
}
f.close();
g.close();
return 0;
}