Cod sursa(job #1173513)

Utilizator icansmileSmileSmile icansmile Data 19 aprilie 2014 21:01:59
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<fstream>
using namespace std;
ifstream f("dfs.in",ios::in);
ofstream g("dfs.out",ios::out);
typedef struct nod{
       int info; nod* ad;};
nod *sf,*p;
long s[2000001],n,x,y,m,i;
nod *v[200001];
void adaugare(nod *&sf, int nr)
{
     
         nod* p;
         p=new nod;
         sf->ad=p;
         p->info=nr;
         p->ad=0;
         sf=p;}
void citire()
{
     f>>n;
     f>>m;
     for(i=1;i<=m;i++)
     {
                      f>>x;
                      f>>y;
                      adaugare(v[x],x);
                      adaugare(v[y],y);}}
void df(long x)
{
     nod* p;
     s[x]=1;
     for(p=v[x];p!=NULL;p=p->ad)
     if(s[p->info]==0)
     df(p->info);}
int main()
{
    long c,i;
    citire();
    c=0;
    for(i=1;i<=n;i++)
    if(s[i]==0)
    {
               c++;
               df(i);
               }
    g<<c;
    return 0;}