Pagini recente » Cod sursa (job #534786) | Cod sursa (job #62054) | Cod sursa (job #69824) | Cod sursa (job #2063745) | Cod sursa (job #2924824)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
fstream fin("dfs.in");
fstream fout("dfs.out");
vector<vector<int>> G;
vector<int> viz;
void dfs(int u){
int v;
viz[u] = 1;
for(int i = 0; i < G[u].size(); i ++){
v = G[u][i];
if(!viz[v])
dfs(v);
}
}
int main(){
int n, m, x, y;
fin >> n >> m;
G = vector<vector<int>>(n + 1);
viz = vector<int>(n + 1);
for(int i = 0; i < m; i ++){
fin >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
int cnt = 0;
for(int i = 1; i <= n; i ++)
if(!viz[i]){
dfs(i);
cnt ++;
}
fout << cnt << "\n";
return 0;
}