Cod sursa(job #1563191)

Utilizator AdrianVrAdrian Stefan Vramulet AdrianVr Data 5 ianuarie 2016 18:56:43
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
#define Nmax 100000
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,t,x,y,padure[Nmax],v[Nmax];
void reuniune(int x,int y)
{padure[x]=y;
}
int cautaradix(int x)
{while(x!=padure[x])
  x=padure[x];
 return x;
}
int main()
{int i,j;
    f>>n>>m;
for(i=1;i<=Nmax;i++)
  padure[i]=i;
for(i=1;i<=m;i++)
{f>>t>>x>>y;
if(t==1)
 reuniune(x,y);
else
 if(cautaradix(x)==cautaradix(y))
   g<<"DA"<<padure[x]<<padure[y]<<'\n';
 else
   g<<"NU"<<padure[x]<<padure[y]<<'\n';



}

    return 0;
}