Cod sursa(job #163145)

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

int contor=0,a[1000][25],v[1000],n,m;

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;
      }
  fclose(f);
  return 0;

  }

int DFS(int x)
 {
  for (int i=1;i<=a[x][0];i++)
     {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) {contor++;
                     DFS(i);
                     }
  afisare();

  return 0;
  }