Cod sursa(job #651109)

Utilizator ramona.zahariaRamona ramona.zaharia Data 19 decembrie 2011 20:49:04
Problema Parcurgere DFS - componente conexe Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
#include <stdio.h>
FILE *f=fopen("parc.in", "r");
FILE *g=fopen("parc.out", "w");
typedef struct nod {int inf;
                    nod *next;} nod;
nod *first[100];
int n,j, viz[100];

void adauga(int a, int b)
{nod *p;
p=new nod;
p->inf=b;
p->next=first[a];
first[a]=p;
p=new nod;
p->inf=a;
p->next=first[b];
first[b]=p;}

void DFS(int a)
{nod *r;
viz[a]=j;
for(r=first[a];r;r=r->next)
    if(viz[r->inf]==0)
       DFS(r->inf);
}

void cit()
{int a,b,c;
fscanf(f, "%d%d", &n, &c);
do
{fscanf(f, "%d%d", &a, &b);
 adauga(a,b);}
while(c=c-1);}

void fct()
{int contor;
for(contor=1;contor<=n;++contor)
   if(viz[contor]) 
      {j++;
       DFS(contor);
      }
fprintf(g, "%d\n", j);
}

int main()
{fprintf(g, "citirea");
cit();
fprintf(g, "scrierea");
fct();
return 0;
}