Pagini recente » Cod sursa (job #1014402) | Cod sursa (job #2541047) | Cod sursa (job #2563699) | Cod sursa (job #603426) | Cod sursa (job #2553121)
#include <fstream>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int n,m,q,x,y,t[100001];
int rad(int k)
{
if(t[k] == k) return k;
t[k] = rad(t[k]);
return t[k];
}
bool query(int x, int y)
{
return (rad(x)==rad(y));
}
void reunion(int x,int y)
{
int rx = rad(x);
int ry = rad(y);
t[ry] = t[rx] = rx;
}
int main()
{
in >> n >> m;
for(int i = 1; i <= n; ++i)
t[i] = i;
while(m--)
{
in >> q >> x >> y;
if(q == 1)
reunion(x,y);
else
{
if(query(x,y)) out << "DA" << '\n';
else out << "NU" << '\n';
}
}
}