Pagini recente » Cod sursa (job #1447729) | Cod sursa (job #2190129) | Cod sursa (job #2191730) | Cod sursa (job #1460712) | Cod sursa (job #1703658)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<int> v[100005];
void read(int &N, int &M) {
int x, y;
f >> N >> M;
for (int i = 0; i < M; ++i) {
f >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
}
void dfs(int node, bool *visited) {
visited[node] = true;
for (auto &x : v[node]) {
if (visited[x] == false) {
dfs(x, visited);
}
}
}
int main()
{
int N, M;
bool visited[100005];
read(N, M);
int ans = 0;
for (int i = 1; i <= N; ++i) {
visited[i] = false;
}
for (int i = 1; i <= N; ++i) {
if (visited[i] == false) {
++ans;
dfs(i, visited);
}
}
g << ans << "\n";
return 0;
}