Pagini recente » Cod sursa (job #214876) | Cod sursa (job #161292) | Cod sursa (job #367617) | Cod sursa (job #2991098) | Cod sursa (job #2816809)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
bool v[100005];
int n, m, a, b;
vector<vector<int>> G;
void dfs(int x)
{
v[x] = 1;
for ( int a : G[x] )
if ( !v[a] )
dfs(a);
}
int main()
{
fin >> n >> m;
G.resize(n + 1);
for ( int i = 1; i <= m; i++ )
{
fin >> a >> b;
G[a].push_back(b);
G[b].push_back(a);
}
int cnt = 0;
for ( int i = 1; i <= n; i++ )
if ( !v[i] )
{
cnt++;
dfs(i);
}
fout << cnt;
}