Pagini recente » Cod sursa (job #274317) | Cod sursa (job #519160) | Cod sursa (job #3318437) | Cod sursa (job #3321007) | Cod sursa (job #3302546)
#include<bits/stdc++.h>
using namespace std;
#define MAX_N (int)1e5
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int vis[MAX_N+1];
vector<int>adj[MAX_N+1];
void dfs(int v) {
vis[v]=1;
for(auto u:adj[v]) {
if(!vis[u]) {
dfs(u);
}
}
}
int main() {
int num_nodes,num_edges,num_components=0;
fin>>num_nodes>>num_edges;
while(num_edges--) {
int u,v;
fin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
for(int v=1; v<=num_nodes; v++) {
if(!vis[v]) {
dfs(v);
num_components++;
}
}
fout<<num_components;
return 0;
}