Cod sursa(job #748928)

Utilizator razielreaperMatei Andrei razielreaper Data 15 mai 2012 10:20:54
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include<vector>
using namespace std;
int nr,n,m,x,y,i;
bool sel[200005];
vector<int> a[200005];
vector<int>::iterator it;
ifstream f("dfs.in");
ofstream g("dfs.out");
void dfs(int x)
{
    vector<int>::iterator it;
    sel[x]=true;
    for(it=a[x].begin();it!=a[x].end();it++)
    if(!sel[*it]){sel[*it]=true;dfs(*it);}
}
int main()
{
    f>>n>>m;
    for(i=1;i<=m;i++){
    f>>x>>y;
    a[x].push_back(y);
    a[y].push_back(x);
    }
    for(i=1;i<=n;i++)
    if(sel[i]==false){nr++;
    dfs(i);}
    g<<nr;
    return 0;
}