Cod sursa(job #2003212)

Utilizator cyg_CiuntuSorinCiuntu Sorin Andrei cyg_CiuntuSorin Data 22 iulie 2017 12:12:08
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#include <vector>
using namespace std;
vector<int>g[100005];
int viz[100005];
void dfs(int u,int cc)
{
    int v,i;
    viz[u]=cc;
    for (i=0;i<g[u].size();i++)
    {
        v=g[u][i];
        if (!viz[v])
            dfs(v,cc);
    }
}
int main()
{
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    int n,i,u,v,m,cc=0;
    scanf("%d %d",&n,&m);
    for (i=1;i<=m;i++)
    {
        scanf("%d %d",&u,&v);
        g[u].push_back(v);
        g[v].push_back(u);
    }
    for (i=1;i<=n;i++)
        if (!viz[i])
        {
            ++cc;
            dfs(i,cc);
        }
    printf("%d",cc);
    return 0;
}