Pagini recente » Borderou de evaluare (job #62012) | Cod sursa (job #1800642) | Cod sursa (job #2411608) | Borderou de evaluare (job #444885) | Cod sursa (job #1967671)
#include<fstream>
#include<vector>
#define NMAX 100010
using namespace std;
vector <int> V[NMAX];
int n,m,k;
bool viz[NMAX];
ifstream cin("dfs.in");
ofstream cout("dfs.out");
int DFS(int x) {
viz[x]=1;
for (int i=0; i<V[x].size(); i++)
if (!viz[V[x][i]]) DFS(V[x][i]);
}
int main(){
cin>>n>>m;
for (int i=0; i<m; i++) {
int x,y; cin>>x>>y;
V[x].push_back(y);
V[y].push_back(x);
}
for (int i=0; i<n; i++)
if (!viz[i]) {
DFS(i); k++;
}
cout<<k;
}