Cod sursa(job #1006100)

Utilizator radu2004GOLD radu radu2004 Data 6 octombrie 2013 13:26:48
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <stdio.h>
struct nod {int val;nod *urm;};
FILE *f,*g;
int n,m,use[100001],x,y,i,nr;
nod *v[100001];
using namespace std;
void add (nod *&p,int e)
{
    nod *t;
    t=new nod;
    t->val=e;
    t->urm=p;
    p=t;
}
void df (int r)
{
    nod *t;
    for (t=v[r];t!=NULL;t=t->urm)  if (use [t->val]==0) {
                                                          use[t->val]=1;
                                                          df (t->val);

                                                         }


}
int main()
{f=fopen ("dfs.in","r");
 g=fopen ("dfs.out","w");
 fscanf (f,"%d%d",&n,&m);
 for (i=1;i<=m;i++) {
                      fscanf (f,"%d%d",&x,&y);
                      add (v[x],y);
 }

 for (i=1;i<=n;i++) if (use[i]==0) {use[i]=1;
                                    nr++;
                                    df (i);}
 fprintf (g,"%d",nr);

return 0;
}