Pagini recente » Cod sursa (job #1635770) | Cod sursa (job #1706343) | Cod sursa (job #1458646) | Cod sursa (job #2297209) | Cod sursa (job #2670985)
#include <fstream>
#define fisier "dfs"
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
const int N = 100001;
#include <vector>
std::vector<int> L[N];
#include <bitset>
std::bitset<N> E;
bool dfs(int t)
{
if (E[t])
return false;
E[t] = true;
for (int f: L[t])
dfs(f);
return true;
}
int main()
{
int n, m, s = 0;
in >> n >> m;
while (m--)
{
int a, b;
in >> a >> b;
L[a].push_back(b);
}
for (int i = 1; i <= n; i++)
s += dfs(i);
out << s;
}