Cod sursa(job #1612550)
Utilizator | Andrei Katona BaconDroid | Data | 24 februarie 2016 22:00:54 |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#define max 100001
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int m,n,v[max],i,c,o,a,b;
int main()
{
f>>n>>m;
for(i=1; i<=n; i++)
v[i] = i;
while(f>>o>>a>>b)
if(o == 1)
{
c = v[b];
for(i=1; i<=n; i++)
if(v[i] == c)
v[i] = v[a];
}
else
if(v[a]==v[b])
g << "DA\n";
else
g << "NU\n";
return 0;
}