Pagini recente » Cod sursa (job #1980636) | Cod sursa (job #2738970) | Cod sursa (job #1140315) | Cod sursa (job #3216495) | Cod sursa (job #2984129)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
const int N = 1e5;
int n_vf , n_edgs;
vector<int> m[N + 1];
bool visited[N + 1];
void dfs(int x){
visited[x] = true;
for(int y = 0 ; y < m[x].size() ; y++){
if(!visited[m[x][y]]){
dfs(m[x][y]);
}
}
}
int main(){
in >> n_vf >> n_edgs;
for(int i = 1 ; i <= n_edgs ; i++){
int x , y;
in >> x >> y;
m[x].push_back(y);
m[y].push_back(x);
}
int cnt = 0;
for(int i = 1 ; i <= n_vf ; i++){
if(visited[i] == false){
cnt++;
dfs(i);
}
}
out << cnt;
}