Pagini recente » Cod sursa (job #1779551) | Cod sursa (job #369843) | Cod sursa (job #292258) | Cod sursa (job #2054484) | Cod sursa (job #1320147)
#include<fstream>
#define NMAX 100005
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int TT[NMAX];
int n,m;
inline int find ( int x )
{
int R;
for( R=x ; R!=TT[R] ; R=TT[R]);
return R;
}
void unite ( int x,int y)
{
TT[y]=x;
}
int main ( void )
{
f>>n>>m;
for(int i(1); i <= n ; ++i )
TT[i]=i;
for(int i(1) ; i <= m ; ++i )
{
int type,x,y;
f>>type>>x>>y;
if( type == 2 )
{
if( find(x) == find(y) )
g<<"DA\n";
else
g<<"NU\n";
}
else
unite(find(x),find(y));
}
f.close();
g.close();
return 0;
}