Cod sursa(job #1411247)

Utilizator mmc170597Marin Mihnea Cristian mmc170597 Data 31 martie 2015 16:06:08
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,m,viz[100001],cc;
vector<int> vi;
vector<vector<int> > a;
void citire(){
    in>>n>>m;
    for(int i=0;i<=n;i++)
        a.push_back(vi);
    int x,y;
    for(int i=1;i<=m;i++){
        in>>x>>y;
        a[x].push_back(y);
        a[y].push_back(x);
    }
}
void dfs(int nod){
    viz[nod]=1;
    for(int i=0;i<a[nod].size();i++)
        if(viz[a[nod][i]]==0)
              dfs(a[nod][i]);
}
int main()
{
    citire();
    for(int i=1;i<=n;i++)
        if(!viz[i]){
            cc++;
            dfs(i);
        }
    out<<cc;
    return 0;
}