Cod sursa(job #2608624)

Utilizator Gliumarin negai Gliu Data 1 mai 2020 16:21:37
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
#include <fstream>

using namespace std;

ifstream in("dfs.in");
ofstream out("dfs.out");

const int nmax=200000;
int n,m,ans=0;
bool viz[nmax];

vector <int> muchi[nmax];

void dfs(int nod){
	viz[nod]=1;
	for(unsigned int i=0;i<muchi[nod].size();i++){
	int vecin = muchi[nod][i];
		if(!viz[vecin]){
			dfs(vecin);
		}
	}
}
int main(){

in >>n>>m;
for(int i=1;i<=m;i++){
	int x,y;
	cin >>x>>y;
	muchi[x].push_back(y);
	muchi[y].push_back(x);
}
for(int i=1;i<=n;i++){
	if(!viz[i]){
		ans++;
		dfs(i);
	}
}
out <<ans;
}