Cod sursa(job #3319598)

Utilizator DariuzzHackerPrime Dariuzz Data 2 noiembrie 2025 05:36:23
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include<fstream>
#include<unordered_set>
#include<stack>
#include<vector>
#include<algorithm>
using namespace std ; 
ifstream cin("dfs.in");
ofstream cout("dfs.out");
void  DFS (int start , vector<vector<int> > &adj , unordered_set<int> &nodes ){
        if(adj[start].empty())
           return ; 
        for(int j = 0; j < adj[start].size() ; j ++ ){
                if(!nodes.count(adj[start][j])){
                     nodes.insert(adj[start][j]);
                      DFS(adj[start][j],adj,nodes) ;
                }   
        }
}
int main(){

      int n , m , x , y ; 
      cin >> n >> m ; 
       vector<vector<int> > adj(n+1) ; 
            for(int i = 1 ; i <= m ; i ++ ){
                cin>>x>>y;
                adj[x].push_back(y);
                adj[y].push_back(x);
            }
            unordered_set<int> nodes ; 
           int count = 0 ; 
        for(int i = 1 ; i <= n ; i ++ ){
               if(!nodes.count(i)){
                   count ++ ; 
                   DFS(i,adj,nodes);
               }
        }
        cout<<count;
      






    return 0 ; 
}