Pagini recente » Cod sursa (job #1876146) | Cod sursa (job #907865) | Cod sursa (job #134720) | Cod sursa (job #2592576) | Cod sursa (job #1168248)
#include <fstream>
using namespace std;
int n,m;
int *v;
inline void adauga(int x,int y)
{
int c;
int d;
if(x < y)
{
c = v[y];
d = v[x];
v[y] = v[v[x]];
}
else
{
c = v[x];
d = v[y];
v[x] = v[v[y]];
}
int i;
for(i = 1; i <= n; i++)
{
if(v[i] == c)
v[i] = d;
}
}
bool gaseste(int x,int y)
{
return (v[x] == v[y]);
}
inline void citeste()
{
ifstream in("disjoint.in");
ofstream out("disjoint.out");
in>>n>>m;
v = new int[n+1];
int i;
for(i = 1; i <= n; i++)
v[i] = i;
int a,b,c;
for(i = 0; i < m; i++)
{
in>>a>>b>>c;
if(a == 1)
{
adauga(b,c);
}
else
{
if(gaseste(b,c))
out<<"DA"<<endl;
else
out<<"NU"<<endl;
}
}
in.close();
out.close();
}
int main()
{
citeste();
return 0;
}