Pagini recente » Cod sursa (job #61149) | Cod sursa (job #3190780) | Cod sursa (job #1992807) | Cod sursa (job #3264849) | Cod sursa (job #2255014)
#include <iostream>
#include <fstream>
#include <vector>
#define nrmax 100005
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n, m, contor;
bool check[100005];
vector <int> g[nrmax];
void read(){
in >> n >> m;
for (int i=1;i<=n;++i){
int x, y;
in>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
}
void dfs(int node){
check[node]=true;
int nrvecini=g[node].size();
for (int i=0;i<nrvecini;++i){
int next_node = g[node][i];
if (check[next_node] == false)
dfs(next_node);
}
}
void nr_count(){
for (int i=1;i<=n;++i)
{
if (check[i] == false)
{
++contor;
dfs(i);
}
}
}
int main()
{
read();
nr_count();
out << contor;
return 0;
}