Pagini recente » Cod sursa (job #2059720) | Cod sursa (job #2170618) | Profil E.L. | Cod sursa (job #2947971) | Cod sursa (job #2749871)
#include <iostream>
#include <vector>
#include <fstream>
#define NMAX 100000
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int main() {
int n, m;
fin >> n >> m;
vector<int> adj[NMAX];
for (int i = 1; i <= m; i++) {
int node_in, node_out;
fin >> node_in >> node_out;
adj[node_in].push_back(node_out);
}
int nr_componente = 0;
vector<int> in_edge(n + 1, 0);
// find the starting position
for (int i = 1; i <= n; i++) {
for (auto out_node : adj[i])
in_edge[out_node]++;
}
for (int i = 1; i <= n; i++) {
if (in_edge[i] == 0) {
nr_componente++;
}
}
fout << nr_componente;
}