Cod sursa(job #2762996)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 10 iulie 2021 20:10:41
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

ifstream fin("dfs.in");
ofstream fout("dfs.out");

const int N = 10010;

int n,m,x,y,ct;
short a[N][N],viz[N];

void dfs(int);

int main()
{
    fin>>n>>m;
    for(;m!=0;m--)
    {
        fin>>x>>y;
        a[x][y]=a[y][x]=1;
    }
    for(int i=1;i<=n;i++)
        if(!viz[i])
        {
            viz[i]=1;
            dfs(i);
            ct++;
        }

    fout<<ct;
    return 0;


}
void dfs(int nod)
{
    for(int i=1;i<=n;i++)
        if(!viz[i] && a[nod][i])
        {
            viz[i]=1;
            dfs(i);
        }
}