Pagini recente » Cod sursa (job #1124520) | Cod sursa (job #1252842) | Cod sursa (job #1256309) | Cod sursa (job #1667835) | Cod sursa (job #1458241)
#include <stdio.h>
#include <vector>
#include <fstream>
#include <iostream>
#define MAX 100000
using namespace std;
int N, M, count = 0;
vector<int> tpl[MAX+1];
vector<int> c(MAX+1);
ifstream in("dfs.in");
ofstream out("dfs.out");
void read(){
in >> N >> M;
int x, y;
for(int i = 0; i < M; ++i){
in >> x >> y;
tpl[x].push_back(y);
tpl[y].push_back(x);
}
}
void explorare(int u){
c[u] = 1;
for(unsigned int i = 0; i < tpl[u].size(); ++i){
int v = tpl[u][i];
if(c[v] == 0)
explorare(v);
}
c[u] = 2;
}
void DFS(){
for(int i = 1; i <= N; ++i){
if(c[i] == 0){
count++;
explorare(i);
}
}
}
int main(){
read();
DFS();
out << count;
}