Cod sursa(job #614432)

Utilizator flashthdPop Razvan flashthd Data 6 octombrie 2011 15:22:07
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
//#include<iostream>
#include<fstream>
using namespace std;
int viz[200005],n,m,x,y,cont=1;
double long  a[10000][10000];
void citire()
{
     ifstream f("dfs.in");
     f>>n>>m;
int l;
    for(l=1;l<=m;l++)
    {
      f>>x;
      f>>y;
      a[x][y]=1;
      a[y][x]=1;                 
    }
    f.close();
}

void df(int k)
{int i ;
    viz[k]=1;
//cout<<k<<" ";
for(i=1;i<=n;i++)
  if(viz[i]==0 && a[k][i]==1)
    df(i);
}

int main()
{
    
    ofstream g("dfs.out");
   // int cont=1;
     citire();
     df(1);

  int i;
    for(i=1;i<=n;i++)
      if(viz[i]==0)
     { 
     cont++;
     df(i);
     }
     g<<cont;
     g.close();
    // cout<<cont<<";
   
  //  system("pause");
    return 0;
    
}