Pagini recente » Cod sursa (job #1035821) | Cod sursa (job #925855) | Cod sursa (job #811920) | Cod sursa (job #3198197) | Cod sursa (job #2923939)
#pragma region Template
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
#pragma endregion Template
vector<vector<int>> adj;
vector<bool> visited;
void dfs(int curr_node) {
visited[curr_node] = true;
for (auto& curr_vertex : adj[curr_node])
if (!visited[curr_vertex])
dfs(curr_vertex);
}
int main() {
int n, m;
fin >> n >> m;
adj.resize(n), visited.resize(n);
for (int i = 0; i < m; ++i) {
int x, y;
fin >> x >> y;
--x, --y;
adj[x].push_back(y);
}
int comp_conexe = 0;
for (int i = 0; i < n; ++i) {
if (!visited[i]) {
++comp_conexe;
dfs(i);
}
}
fout << comp_conexe;
return 0;
}