Pagini recente » Cod sursa (job #2355848) | Cod sursa (job #1498802) | Cod sursa (job #368979) | Cod sursa (job #911680) | Cod sursa (job #1168242)
#include <iostream>
#include <fstream>
using namespace std;
int n,m;
int *v;
void adauga(int x,int y)
{
int c;
int d;
if(x < y)
{
c = v[y];
d = v[x];
v[y] = v[x];
}
else
{
c = v[x];
d = v[y];
v[x] = v[y];
}
for(int i = 0; i <= n; i++)
{
if(v[i] == c)
v[i] = d;
}
}
bool gaseste(int x,int y)
{
return (v[x] == v[y]);
}
void citeste()
{
ifstream in("disjoint.in");
ofstream out("disjoint.out");
in>>n>>m;
v = new int[n+1];
for(int i = 0; i <= n; i++)
v[i] = i;
int a,b,c;
for(int 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;
}