Cod sursa(job #1065295)

Utilizator shibby_chickAndreea Muscalagiu shibby_chick Data 23 decembrie 2013 01:25:02
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include<vector>
#include<fstream>
using namespace std;
int n,m;
vector<int>v[100001];
int viz[100001];
void dfs(int x){
    int i;
    viz[x]=1;
    for(i=0; i< v[x].size();i++)
        if(viz[v[x][i]]==0)
            dfs(v[x][i]);
}
int main()
{
    int i,j,l,nr=0;
    ifstream f("dfs.in");
    ofstream g("dfs.out");
    f>>n>>m;//citeste nr de noduri, nr de muchii
    for(i=1;i<=m;i++) //citeste muchiile
    {
        f>>j>>l;
        v[j].push_back(l);
        v[l].push_back(j);
    }
    f.close();
    for(i=1;i<=n;i++)
        if(viz[i]==0){
            nr++;
            dfs(i);
        }
    g<<nr;
    g.close();
    return 0;
}