Pagini recente » Cod sursa (job #2360386) | Cod sursa (job #542488) | Cod sursa (job #505876) | Cod sursa (job #3305507) | Cod sursa (job #3337518)
#include <fstream>
#define NMAX 100002
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,m;
int tata[NMAX];
int gaseste(int x)
{
if(tata[x]==x)
return x;
tata[x]=gaseste(tata[x]);
return tata[x];
}
void uneste(int x,int y)
{
x=gaseste(x);
y=gaseste(y);
if(x!=y)
tata[y]=x;
}
int main()
{
int cod,x,y,i;
fin>>n>>m;
//initializare tata
for(i=1; i<=n; i++)
tata[i]=i;
for(i=1; i<=m; i++)
{
fin>>cod>>x>>y;
if(cod==1)
{
uneste(x,y);
}
else
{
if(gaseste(x)==gaseste(y))
fout<<"DA"<<'\n';
else fout<<"NU"<<'\n';
}
}
return 0;
}