Pagini recente » Cod sursa (job #2628360) | Cod sursa (job #1748036) | Cod sursa (job #2081454) | Cod sursa (job #2352846) | Cod sursa (job #936657)
Cod sursa(job #936657)
#include <fstream>
#include <vector>
using namespace std;
vector<vector<int> > adjl;
vector<bool> mark;
void dfs(int i)
{
mark[i] = true;
for (vector<int>::iterator it = adjl[i].begin(); it != adjl[i].end(); ++it)
if (!mark[*it]) dfs(*it);
}
int main() {
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n, m;
fin >> n >> m;
adjl.resize(n+1);
mark.resize(n+1);
int u, v;
for (; m > 0; --m) {
fin >> u >> v;
adjl[u].push_back(v);
adjl[v].push_back(u);
}
int ans = 0;
for (int i = 1; i <= n; ++i) {
if (!mark[i]) {
++ans;
dfs(i);
}
}
fout << ans;
return 0;
}