Cod sursa(job #2128392)

Utilizator TESTHARD123TEST CENTRE TESTHARD123 Data 11 februarie 2018 17:56:46
Problema Parcurgere DFS - componente conexe Scor 55
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<bits/stdc++.h>
using namespace std;
//Ionitas code
#define shit ios_base::sync_with_stdio(0); fin.tie(0);
#define vi vector<int>
#define pb push_back
template < class T > T minu(T &a,T b) {if (a > b) a = b;return a;}
template < class T > T maxu(T &a,T b) {if (a < b) a = b;return a;}
vi my[10000];
vector <bool> viz(100000,false);
inline void dfs(int nod){
	for (auto x: my[nod]){
		if (!viz[x]) {
			viz[x]= true ;
			//cout<<my[x]<<" ";
			dfs(x);
		}
//	cout<<x<<" ";
	}
	return;
}

int main(){
	ifstream fin("dfs.in");
	ofstream fout("dfs.out");
	shit	
int n,m, count=0;
fin>>n>>m;
for(int i(1),x,y;i<=m;i++){
			fin>>x>>y;
			my[x].pb(y);
			my[y].pb(x);
}
for(int i(1);i<=n;i++){
	if(!viz[i]){
		viz[i]=true;
		count++;
		dfs(i);	
	}
}
	fout<<count;
	return 0;
}