Cod sursa(job #167671)

Utilizator portocalaDiculescu Elena Alexandra portocala Data 29 martie 2008 21:51:31
Problema Parcurgere DFS - componente conexe Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream.h>
#define dim 100001
#define min(x,y) (x)<(y) ? (x):(y)
#define max(x,y) (x)>(y) ? (x):(y)
long n,m,max,v[dim];
int main()
{ifstream f("dfs.in");
f>>n>>m;
max=n;
long i,j,x,y,a,b;
for(i=1;i<=n;i++)v[i]=i;
for(i=1;i<=m;i++)
 {f>>x>>y;
  if(v[x]!=v[y])
  {max--;
  a=min(v[x],v[y]);
  b=max(v[x],v[y]);
  for(j=1;j<=n;j++)
   if(v[j]==b)v[j]=a;  }
 }
ofstream g("dfs.out");
g<<max<<'\n';
g.close();
return 0;
}