Cod sursa(job #163158)

Utilizator alex23alexandru andronache alex23 Data 21 martie 2008 15:52:46
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <stdio.h>

int contor=0,a[50000][250],n,m;
bool v[100001];

int citire()
 {FILE *f;
  int x,y;

  f=fopen("dfs.in","r");
  fscanf(f,"%d %d",&n,&m);
  for (int i=1;i<=m;i++)
     {fscanf(f,"%d %d",&x,&y);
      a[x][0]++;
      a[x][a[x][0]]=y;
      a[y][0]++;
      a[y][a[y][0]]=x;
      }
  fclose(f);
  return 0;

  }

int DFS(int x)
 {
  for (int i=1;i<=a[x][0];i++)
     if (v[a[x][i]]==0)
                        {v[a[x][i]]=1;
                         DFS(a[x][i]);
                         }
  return 0;
  }

int afisare()
 {FILE *f;

  f=fopen("dfs.out","w");
  fprintf(f,"%d",contor);
  fclose(f);

  return 0;

  }

int main()
 {
  citire();
  for (int i=1;i<=n;i++)
       if (v[i]==0) {v[i]=1;
                     contor++;
                     DFS(i);
                     }
  afisare();

  return 0;
  }