Cod sursa(job #150154)

Utilizator sigridMaria Stanciu sigrid Data 6 martie 2008 17:25:21
Problema Parcurgere DFS - componente conexe Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream.h>
#define dim 100001
ifstream f("dfs.in");
ofstream g("dfs.out");
int comp[dim],aux[dim];
int main()
{unsigned long n,m;
int x,y,j,cont=0,i,minim;

f>>n>>m;
for(i=1;i<=n;i++) comp[i]=i;
cont=n;
for(i=1;i<=m;i++)
 {f>>x>>y;
  if(comp[x]<comp[y])
   {minim=comp[y];
    for(j=1;j<=n;j++)
     if(comp[j]==minim) comp[j]=comp[x];
    cont--;
   }
   else if(comp[x]>comp[y])
      {minim=comp[x];
       for(j=1;j<=n;j++)
	if(comp[j]==minim) comp[j]=comp[y];
       cont--;
      }
 }
f.close();

/*for(i=1;i<=n;i++)
 if(!aux[comp[i]]) {aux[comp[i]]=1;cont++;}
*/
g<<cont<<'\n';
g.close();
return 0;
}