Cod sursa(job #713779)

Utilizator StefanLacheStefan Lache StefanLache Data 14 martie 2012 22:21:45
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<stdio.h>
#include<stdlib.h>
struct nod
{
    int info;
    nod *adr_urm;
};
nod *v[100001];
int nrsol,viz[100001];
void DF(int i)
{
    viz[i]=1;
    while(v[i])
    {
        if(viz[v[i]->info]==0)
            DF(v[i]->info);
        v[i]=v[i]->adr_urm;
        nrsol++;
    }
}
int main()
{
    FILE *f=fopen("dfs.in","rt");
    FILE *g=fopen("dfs.out","wt");
    int N,M,nr1,nr2,i;
    fscanf(f,"%i %i",&N,&M);
    while(!feof(f))
    {
        fscanf(f,"%i %i",&nr1,&nr2);
        nod *h=(nod *)malloc(1*sizeof(nod));
        h->info=nr2;
        h->adr_urm=v[nr1];
        v[nr1]=h;
    }
    DF(1);
    fprintf(g,"%i",nrsol);
    return 0;
}