Cod sursa(job #1446302)

Utilizator banamaria95Borcea Ana-Maria banamaria95 Data 1 iunie 2015 13:17:37
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,m,viz[100000];
struct nod
{
    int info;
    nod *next;
} *l[100000];
void df_l(int k)
{   nod *p;
    viz[k]=1;
    for(p=l[k];p!=NULL;p=p->next)
        if(viz[p->info]==0) df_l(p->info);

}
int main()
{   ifstream f("dfs.in");
    ofstream g("dfs.out");
    int i,x,y,nr=1;
    nod *p,*q;
    f>>n;
    f>>m;
    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        p=new nod;
        p->info=y;
        p->next=l[x];
        l[x]=p;
        q=new nod;
        q->info=x;
        q->next=l[y];
        l[y]=q;
    }
    for(i=1;i<=n;i++)
        if(viz[i]==0)
            {nr++;
        df_l(i);}

    g<<nr;
    return 0;
}