Pagini recente » Cod sursa (job #525195) | Cod sursa (job #517371) | Cod sursa (job #2774204) | Cod sursa (job #890427) | Cod sursa (job #2929297)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ofstream fin("dfs.in");
ofstream 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;
}