Cod sursa(job #2503212)

Utilizator Vintila10cristian vintila Vintila10 Data 2 decembrie 2019 18:34:25
Problema Parcurgere DFS - componente conexe Scor 30
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");

int mt[600][600], n, m, x, y, viz[1000000], nrcomp, val;
void citire()
{
    fin >> n >> m;
    for (int i = 1; i <= m; i++)
    {
        fin >> x >> y;
        mt[x][y] = 1;
        mt[y][x] = 1;
    }
}

void DFS(int val)
{
    viz[val] = nrcomp;
    for (int i = 1; i <= n; i++)
        if (mt[val][i] && !viz[i])
            DFS(i);
}

void COMP()
{
    for (int i = 1; i <= n; i++)
        if (!viz[i])
        {
            nrcomp++;
            DFS(i);
        }
}

int main()
{
    citire();
    COMP();
    fout << nrcomp;
}