Cod sursa(job #1694874)

Utilizator david12345Rotari David david12345 Data 26 aprilie 2016 10:14:00
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<fstream>
using namespace std;
ifstream fi("dfs.in");
ofstream fo("dfs.out");
long long int n,m,viz[100005],x,y;
struct nod{
       int info;
       nod* back;
   };
   nod* v[100005];
   void add(int i,int j){
        nod* c=new nod;
        c->info=j;
        c->back=v[i];
        v[i]=c;
   }
   void parcurgere(int i){
        viz[i]=1;
        for(nod* p=v[i];p;p=p->back)
        if(!viz[p->info])
        parcurgere(p->info);
   }
   int main(){
       fi>>n>>m;
       for(int i=1;i<=m;i++){
               fi>>x>>y;
               add(x,y);
               add(y,x);
               }
               int k=0;
               for(int i=1;i<=n;i++)
               if(!viz[i]){
                           ++k;
                           parcurgere(i);
                      }
                         fo<<k<<endl;
                         return 0;               
       
       
       
       }