Pagini recente » Cod sursa (job #1892840) | Cod sursa (job #1411564) | Cod sursa (job #2474740) | Cod sursa (job #2029043) | Cod sursa (job #385230)
Cod sursa(job #385230)
/*
* File: main.cpp
* Author: virtualdemon
*
* Created on January 22, 2010, 1:02 PM
*/
#include <vector>
#include <fstream>
/*
*
*/
using namespace std;
typedef unsigned int u;
vector<u> father;
u find( u x )
{
u y, z;
for( y=x; y != father[y]; y=father[y] );
for( ; x != father[x]; )
{
z=father[x];
father[x]=y;
x=z;
}
return y;
}
inline u min( u x, u y )
{
return y^( (x^y) & -(x<y) );
}
int main()
{u n, m, i, op, x, y;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
in>>n>>m;
for( i=0; i < n; ++i )
father.push_back(i);
for( i=0; i < m; ++i )
{
in>>op>>x>>y;
x=find( x-1 );
y=find( y-1 );
switch( op )
{
case 1 : father[x]=y; break;
case 2 : if( x == y )
out<<"DA\n";
else out<<"NU\n";
}
}
return 0;
}