Pagini recente » Monitorul de evaluare | Cod sursa (job #3315390) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3309311)
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 100000
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
vector<int> v[NMAX+1];
vector<bool> vis(NMAX+1);
int n,m;
void dfs(int node);
int main()
{
int i,cnt=0,a,b;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
for(i=1;i<=n;i++)
{
if(vis[i]==0)
{
cnt++;
dfs(i);
}
}
fout<<cnt;
return 0;
}
void dfs(int node)
{
vis[node]=1;
for(auto it : v[node])
{
if(vis[it]==0)
{
dfs(it);
}
}
}