Pagini recente » Cod sursa (job #699538) | Cod sursa (job #1896157) | Cod sursa (job #1130436) | Cod sursa (job #295412) | Cod sursa (job #1491824)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
#define MAX 100008
int tata[MAX],n,m;
int findtata(int x);
int main()
{
int i;
fin>>n>>m;
for(i=1; i<=n; i++)
tata[i]=i;
while(m--)
{
int t,a,b,ta,tb;
fin>>t>>a>>b;
ta=findtata(a);
tb=findtata(b);
if(t==1)
tata[ta]=tb;
else
if(ta==tb)fout<<"DA\n";
else fout<<"NU\n";
}
return 0;
}
int findtata(int x)
{
if(tata[x]==x)return x;
int t=findtata(tata[x]);
tata[x]=t;
return t;
}