Pagini recente » Cod sursa (job #2328024) | Cod sursa (job #2168205) | Cod sursa (job #502898) | Cod sursa (job #369673) | Cod sursa (job #1041744)
#include <iostream>
#include <cstdio>
#include <algorithm>
FILE *f,*g;
using namespace std;
long A[100000][100];
void reuneste(long x, long y)
{
long i,j;
for(i=1;i<=A[y][0];i++)
{
bool sem=0;
for(j=1;j<=A[x][0];j++)
{
if(A[y][i]==A[x][j])
{
sem=1;
break;
}
}
if(!sem)
{
A[x][++A[x][0]]=A[y][i];
}
}
for(i=1;i<=A[x][0];i++)
{
A[y][i]=A[x][i];
}
A[y][0]=A[x][0];
}
int main()
{
f=fopen("disjoint.in","r");
g=fopen("disjoint.out","w");
long N,M,i,j,x,y,cod;
fscanf(f,"%ld%ld",&N,&M);
for(i=1;i<=N;i++)
{
A[i][1]=i;
A[i][0]=1;
}
for(i=1;i<=M;i++)
{
fscanf(f,"%ld%ld%ld",&cod,&x,&y);
if(cod==1)
{
reuneste(x,y);
}
else
{
bool sem=0;
for(j=1;j<=A[x][0];j++)
{
if(A[x][j]==y)
{
sem=1;
break;
}
}
if(sem)
{
fprintf(g,"DA\n");
}
else
{
fprintf(g,"NU\n");
}
}
}
fclose(f);
fclose(g);
return 0;
}