Pagini recente » Cod sursa (job #2964031) | Cod sursa (job #2537741) | Cod sursa (job #1525582) | Cod sursa (job #1601608) | Cod sursa (job #1505077)
#include <fstream>
#include <vector>
using namespace std;
fstream fin("dfs.in", ios::in);
fstream fout("dfs.out", ios::out);
vector <int> g[100000];
int n, m;
void citire(){
int x, y;
fin >> n >> m;
for(int i = 1; i <= n; i++)
g[i].push_back(0);
for(int i = 1; i <= m; i++){
fin >> x >> y;
g[x].push_back(y);
g[y].push_back(x);
}
}
void DFS(int k){
g[k][0] = 1;
for(int i = 1; i < g[k].size(); i++){
int vecin = g[k][i];
if(!g[vecin][0])
DFS(vecin);
}
}
int main(){
int c = 0;
citire();
for(int i = 1; i <= n; i++)
if(!g[i][0]){
c++;
DFS(i);
}
fout << c << '\n';
}