Pagini recente » Cod sursa (job #1502022) | Cod sursa (job #83667) | Cod sursa (job #2774747) | Cod sursa (job #1768851) | Cod sursa (job #1504078)
#include <iostream>
#include <fstream>
#define nmax 100003
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int T[nmax], n, m;
int find(int x)
{
while(T[x]!=x)
x=T[x];
return x;
}
int join(int x, int y)
{
x=find(x);
y=find(y);
T[x] = y;
}
int main()
{
int act, x, y;
f >> n >> m;
for(int i=1; i<=n; i++)
{
T[i]=i;
}
for(int i=1; i<=m; i++)
{
f >> act >> x >> y;
if (act == 1) join(x,y);
else g << (find(x) == find(y) ? "DA\n" : "NU\n");
}
f.close();
g.close();
return 0;
}