Cod sursa(job #2786006)

Utilizator Mirc100Mircea Octavian Mirc100 Data 20 octombrie 2021 00:03:17
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <queue>
#include<fstream>
using namespace std;
 
int n,m,viz[100000];
vector<int> l[100000]; 
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 citire(const char *nume_fisier, int &n, int &m, vector<int> l[100000]){
     ifstream f(nume_fisier);
     int x,y,i;
     f>>n>>m;
     for(i=0;i<m;i++){
         f>>x>>y;
         l[x-1].push_back(y-1);
         l[y-1].push_back(x-1);
     }
     f.close();
}

int main(){
   
      
     int i,x,y,nrc=0;
       
     citire("dfs.in",n,m,l);
     
     for(i=0;i<n;i++)
         if(viz[i]==0){
              dfs(i);
              nrc++;
              }               
                 
     ofstream g("dfs.out");
	 g<<nrc<<endl;
     
     g.close(); 
     
     return 0;   
}