Pagini recente » Cod sursa (job #1177338) | Cod sursa (job #3241113) | Cod sursa (job #2772899) | Cod sursa (job #2115607) | Cod sursa (job #2059687)
#include <stdio.h>
#include <vector>
#include <queue>
using namespace std;
int n, m, x, y, S;
bool visited[100005];
vector <int> A[100005];
void DFS (int node){
visited[node] = true;
int len = A[node].size();
for(int i = 0; i < len; ++i){
if(visited[A[node][i]] == false)
DFS(A[node][i]);
}
}
int main(){
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
int n, m, nr = 0;
scanf("%d%d", &n, &m);
for(int i = 0; i < m; ++i){
scanf("%d%d", &x, &y);
A[x].push_back(y);
A[y].push_back(x);
}
for(int i = 1; i <= n; ++i){
if(visited[i] == false){
nr++;
DFS(i);
}
}
printf("%d", nr);
return 0;
}