Cod sursa(job #1490022)

Utilizator andreeaanbrusAndreea Anbrus andreeaanbrus Data 22 septembrie 2015 17:21:46
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n, m, i, j, a[1005][1005], cnt;
bool ok[1005];
void ReadGraph();
void DFS(int);
int main()
{
    ReadGraph();
    for(int i = 1; i <= n; i++)
        if(ok[i] == 0)
            cnt++, DFS(i);
    fout << cnt;
    
    return 0;
}
void ReadGraph()
{
    fin >> n >> m;
    for(int k = 1; k <= m; k ++)
    {
        fin >> i >> j;
        a[i][j] = 1;
        a[j][i] = 1;
    }
}
void DFS(int nod)
{
    ok[nod] = true;
    for(int i = 1; i <= n; i++)
        if(a[nod][i] == 1 && ok[i] == 0)
            DFS(i);
}