Cod sursa(job #2844720)

Utilizator andreicontorandrei contor andreicontor Data 5 februarie 2022 10:53:39
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include<queue>
#include<cstdio>
using namespace std;
int n,m,viz[100001];
vector<int> l[100001];
void dfs(int x)
{
    viz[x]=1;
    for(int i=0;i<l[x].size();i++)
        if(viz[l[x][i]]==0)
            dfs(l[x][i]);
}

void read(int &n,int &m,vector<int> l[100001])
{
    int x,y,i;
    scanf("%d%d",&n,&m);
    for(i=0;i<m;i++)
    {
        scanf("%d%d",&x,&y);
        l[x-1].push_back(y-1);
        l[y-1].push_back(x-1);

    }
}
int main()
{
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    int x,i,nrc=0,y;
    read(n,m,l);
    for(i=0;i<n;i++)
        if(viz[i]==0)
        {
            dfs(i);
            nrc++;
        }
    printf("%d\n",nrc);

    return 0;
}