Pagini recente » Cod sursa (job #290511) | Cod sursa (job #3001802) | Cod sursa (job #1634377) | Borderou de evaluare (job #454906) | Cod sursa (job #1967673)
#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=1; i<=n; ++i)
if (!viz[i]) {
DFS(i); k++;
}
cout<<k;
}