Cod sursa(job #2259165)

Utilizator MoldooooooooMoldoveanu Stefan Moldoooooooo Data 13 octombrie 2018 09:48:05
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>

using namespace std;
int N, M, i, A[101][101];
bool Fq[101];
int k=0;
void Citire();
void DFS(int i);
int main()
{
    freopen("dfs.in", "r", stdin);
    freopen("dfs.out", "w", stdout);
    Citire();
    return 0;
}
void Citire(){
    scanf("%d%d", &N, &M);
    for(i=1; i<=M; i++){
        int x, y;
        scanf("%d%d", &x, &y);
        A[x][y]=A[y][x]=1;
    }
    for(i=1; i<=N; ++i){
        if(!Fq[i]){
            Fq[i]=1;
            DFS(i);
            k++;
        }
    }
    printf("%d", k);
    return;
}
void DFS(int i){
    int j;
    for(j=1; j<=N; ++j){
        if(!Fq[j] && A[i][j]==1){
            Fq[j]=1;
            DFS(j);
        }
    }
    return;
}