Cod sursa(job #3243292)

Utilizator TeogaloiuMatei Ionescu Teogaloiu Data 17 septembrie 2024 10:20:41
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>
using namespace std;
ofstream cout("dfs.out");
ifstream cin ("dfs.in");
vector <bool> mr;
vector <vector <int> > Gr;
void filldeluxe(int i)
{
    mr[i]=1;
    while(Gr[i].size()>0)
    {
        if(mr[Gr[i].back()]==0)
        filldeluxe(Gr[i].back());
        Gr[i].pop_back();
    }
}
int main()
{
    int n,m;
    cin>>n>>m;
    Gr.resize(n+1);
    mr.resize(n+1);
    for(int i=1;i<=m;i++)
    {
        int a,b;
        cin>>a>>b;
        Gr[a].push_back(b);
        Gr[b].push_back(a);
    }
    int cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(mr[i]==0)
        {
            filldeluxe(i);
            cnt++;
        }
    }
    cout<<cnt;
    return 0;
}