Pagini recente » Cod sursa (job #578481) | Cod sursa (job #1443178) | Cod sursa (job #2390991) | Cod sursa (job #1859018) | Cod sursa (job #1491112)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int p[100001],n,m,i,q,x,y;
int fp(int x)
{
if (p[x] != x)
p[x] = fp(p[x]);
return p[x];
}
void unite(int x,int y)
{
x=fp(x),y=fp(y);
p[x]=y;
}
int main()
{
f>>n>>m;
for (i=1;i<=n;++i)
p[i]=i;
while(m--)
{
f>>q>>x>>y;
if (q == 1)
unite(x,y);
else if (fp(x) == fp(y))
g<<"DA\n";
else g<<"NU\n";
}
return 0;
}