Cod sursa(job #3030887)

Utilizator theninjaguy5Gheorghiu Mihail-Andrei theninjaguy5 Data 17 martie 2023 22:45:03
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
const int N=100005;
int n,m,insule=0,vecin;
bool vizitat[N];
    vector<int> muchii[N];
/*
1:2 4
2:1
3:5
4:1
5:3
6:-
*/

void dfs(int nod)
{
    vizitat[nod]=true;
    for(unsigned int i=0;i<muchii[nod].size();i++)
    {
        vecin=muchii[nod][i];
        if(!vizitat[vecin])//vizitat==0/false
            dfs(vecin);
    }
}
void citire()
{f>>n>>m;
for(int i=1;i<=m;i++)
    {
    int x,y;
    f>>x>>y;
    muchii[x].push_back(y);
    muchii[y].push_back(x);
    }

for(int i=1;i<=n;i++){
        if(!vizitat[i])
            {
            dfs(i);
            insule++;
         }
}


}
int main()
{
citire();
g<<insule;

    return 0;
}