Cod sursa(job #2323675)

Utilizator Robert_Marinescu_FMI_UVTMarinescu Robert Eugen Robert_Marinescu_FMI_UVT Data 19 ianuarie 2019 15:20:20
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;
int arr[10000][10000];
int vizitat[10000];
int componente = 0;

void dfs(int nod, int noduri){
    vizitat[nod] = 1;
    for(int i=1;i<=noduri;i++){
        if(vizitat[i] == 0 && arr[nod][i] == 1)
            dfs(i, noduri);
    }
}

int main()
{   //Citire si declaratii
    int noduri, muchii, x, y;
    ifstream fin;
    fin.open("dfs.in");
    fin>>noduri>>muchii;
    for(int i=1;i<=muchii;i++){
        fin>>x>>y;
        arr[x][y] = 1;
        arr[y][x] = 1;
    }
    fin.close();

    //Apel dfs
    for(int i=1;i<=noduri;i++){
        if(vizitat[i] == 0){
            componente+=1;
            dfs(i, noduri);
        }
    }
    ofstream fout;
    fout.open("dfs.out");
    fout<<componente;
}