Pagini recente » Cod sursa (job #1115285) | Cod sursa (job #1332205) | Cod sursa (job #418128) | Cod sursa (job #878588) | Cod sursa (job #2092064)
#include <fstream>
using namespace std;
ifstream F("disjoint.in");
ofstream G("disjoint.out");
int n, m, x, y, Tx, Ty, t[100005], c;
int Find(int x)
{
if( x == t[x] ) return x;
return t[x] = Find(t[x]);
}
int main()
{
F >> n >> m;
for( int i = 1; i <= n; ++ i ) t[i] = i;
for( int i = 1; i <= m; ++ i )
{
F >> c >> x >> y;
if( c == 1 )
{
Tx = Find(x);
Ty = Find(y);
if( Tx > Ty ) t[Ty] = Tx;
else if( Ty > Tx ) t[Tx] = Ty;
continue;
}
Tx = Find(x);
Ty = Find(y);
if( Tx == Ty ) G << "DA\n";
else G << "NU\n";
}
return 0;
}