Pagini recente » Cod sursa (job #593108) | Cod sursa (job #1694094) | Cod sursa (job #229935) | Cod sursa (job #3031700) | Cod sursa (job #1368114)
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <map>
#include <iomanip>
#include <set>
#define x first
#define y second
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
const int MAXN = 100010;
const int INF = 2000000000;
int n, m, sol,i,j,a,b,op;
int p[MAXN];
int parinte(int x)
{
if(p[x]==x)
return x;
return parinte(p[x]);
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
p[i]=i;
while(m)
{
m--;
f>>op>>a>>b;
if(op==1)
p[a]=parinte(b);
else
if(parinte(a)==parinte(b))
g<<"DA"<<'\n';
else
g<<"NU"<<'\n';
}
return 0;
}