Cod sursa(job #2548356)

Utilizator robert.barbu27robert barbu robert.barbu27 Data 16 februarie 2020 16:09:22
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
#include <stdio.h>
#include <ctype.h>

using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector <int> vecini[100005];
int n,m;
bool viz[100005];
void DFS(int varf)
{
    viz[varf]=1;
   //g<<varf<<" ";
    for(int i=0;i<vecini[varf].size();i++)
    {
        if(viz[vecini[varf][i]]==0)
        {
            DFS(vecini[varf][i]);
        }
    }

}
int main()
{
    int varf;
f>>n>>m;
int a,b;
for(int i=1;i<=m;i++){
        f>>a>>b;
    vecini[a].push_back(b);
    vecini[b].push_back(a);
}


for(int i=1;i<=n;i++)
{
    sort(vecini[i].begin(),vecini[i].end());

}
int rasp=0;
for(int i=1;i<=n;i++)
{
    if(viz[i]==0)
    {
        DFS(i);
        rasp++;
    }
}
g<<rasp;

}