Cod sursa(job #664407)

Utilizator arcansielAlina Bratu arcansiel Data 20 ianuarie 2012 04:10:23
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
#include<vector>
using namespace std;
#define nmax 100001

vector<int> lista[nmax];
int n,i,m,a,b,viz[nmax],nr;
ofstream g("dfs.out",ifstream::out);

void dfs() {
  vector<int>iterator:: it;
  for (int j=1;j<=n;j++)
    if (!viz[j]) {
	  viz[j]=1;
      for (it=lista[j].begin();it!=lista[j].end();it++) 
	    viz[*it]=1;
      nr++;
    }
}   

int main() {
  ifstream f("dfs.in",ifstream::in);
  ofstream g("dfs.out",ifstream::out);
  f>>n>>m;
  for (i=0;i<m;i++) {
    f>>a>>b;
	lista[a].push_back(b);
	lista[b].push_back(a);
	}
  dfs();
  g<<nr;
  return 0;
}