Pagini recente » Cod sursa (job #2194977) | Cod sursa (job #2001190) | Cod sursa (job #3192224) | Cod sursa (job #61949) | Cod sursa (job #1592924)
#include <fstream>
#include <vector>
#define DMAX 100008
#define IN "dfs.in"
#define OUT "dfs.out"
#define pb push_back
using namespace std;
ifstream fin(IN);
ofstream fout(OUT);
int n, m;
vector < int > graph[DMAX];
int mark[DMAX], conex;
void read();
void solve();
void dfs(int);
int main(){
read();
solve();
fout <<conex<<'\n';
fout.close();
return 0;
}
void dfs(int node){
mark[node] = 1;
int dim = graph[node].size(), i;
for (i = 0; i < dim; ++i)
if (!mark[ graph[node][i] ])
dfs(graph[node][i]);
}
void solve(){
int i;
for (i = 1; i <= n; ++i)
if (!mark[i]){
dfs(i);
++conex;
}
}
void read(){
fin >>n>>m;
int i;
int a, b;
for (i = 0; i < m; ++i){
fin >>a>>b;
graph[a].pb(b);
graph[b].pb(a);
}
}