Cod sursa(job #661926)
| Utilizator | Data | 15 ianuarie 2012 15:45:37 | |
|---|---|---|---|
| Problema | Paduri de multimi disjuncte | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream>
using namespace std;
int mult[100001],n;
void caz_1(int x, int y)
{for(int i=1;i<=n;i++)
if(mult[i]==x)
mult[i]=y;
}
int main(){
int n, m, x, y, cod;
fstream f("disjoint.in",ios::in);
fstream g("disjoint.out",ios::out);
f>>n>>m;
for(int i=1;i<=n;i++) //initializare multimi
mult[i]=i;
for(int i=1;i<=m;i++)
{f>>cod>>x>>y;
if(cod==1) caz_1(mult[x],mult[y]);
if(cod==2) {if(mult[x]==mult[y]) g<<"DA\n";
else g<<"NU\n";}
}
return 0;}
