Pagini recente » Cod sursa (job #130220) | Cod sursa (job #2663402) | Cod sursa (job #401590) | Cod sursa (job #3134012) | Cod sursa (job #2784319)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
vector<int> la[100000];
int n, m;
int vis[100000];
void dfs(int nod)
{
vis[nod] = 1;
for (auto& el: la[nod])
{
if (!vis[el])
dfs(el);
}
}
int main()
{
in >> n >> m;
for (int i = 0; i < m; i++)
{
int n1, n2;
in >> n1 >> n2;
la[n1-1].push_back(n2-1);
}
int nr = 0;
for (int i = 0; i < n; i++)
{
if (!vis[i])
{
dfs(i);
nr ++;
}
}
out << nr;
return 0;
}