Cod sursa(job #1168996)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 10 aprilie 2014 01:29:35
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<int> graph[100001];
int n, m, i, visited[100001], node1, node2, nconex;
void dfs(int node)
{
    visited[node]=1;
    for (int j=0; j<graph[node].size(); j++)
        if (!visited[graph[node][j]])
            dfs(graph[node][j]);
}
int main()
{
    f>>n>>m;
    for (i=1; i<=m; i++) {
        f>>node1>>node2;
        graph[node1].push_back(node2);
        graph[node2].push_back(node1);
    }
    for (i=1; i<=n; i++)
        if (!visited[i]) {
            nconex++;
            dfs(i);
        }
    g<<nconex;
    return 0;
}