Cod sursa(job #1716324)

Utilizator radudurlesteanuDurlesteanu Radu Stefan radudurlesteanu Data 12 iunie 2016 15:03:20
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>
using namespace std;
int n,m,i,j,nr,viz[100001],x,y;
struct nod{
           int vf;
           nod *urm;
          };
nod *a[100001],*p;
void parc(int x)
{
viz[x]=1;
nod *p;
for (p=a[x];p!=NULL;p=p->urm)
if (!viz[p->vf]) parc(p->vf);
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++)
   {
   scanf("%d%d",&x,&y);
   p=new nod;
   p->vf=y;
   p->urm=a[x];
   a[x]=p;
   }
for (i=1;i<=n;i++)
if (!viz[i]) {
              viz[i]=1;
              parc(i);
              nr++;
             }
printf("%d",nr);
}