Cod sursa(job #770617)
Utilizator | FMI Alex Oprea BlackLord | Data | 23 iulie 2012 15:30:14 |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int a[100001], i, x, y, m, n, v, x1, y2;
int main(){
f>>n>>m;
for(i=1; i<=n; i++)
a[i]=i;
for(int cresc=1; cresc<=m; cresc++)
{
f>>v>>x1>>y2;
x=a[x1];
y=a[y2];
if(v==1)
{
for(i=1; i<=n; i++)
if(a[i]==x)
a[i]=y;
}
else
{
if(a[x]==a[y])
g<<"DA\n";
else
g<<"NU\n";
}
}
f.close();
g.close();
return 0;
}