Pagini recente » Cod sursa (job #2711) | Cod sursa (job #2526035) | Cod sursa (job #2987859) | Cod sursa (job #2103503) | Cod sursa (job #1587013)
#include <fstream>
#include <vector>
using namespace std;
ofstream out("sortaret.out");
vector<int> g[50002];
int nr[50002];
bool vis[50002];
void dfs(int node)
{
vis[node] = 1;
out << node << ' ';
for (int i = 0; i < g[node].size(); i++)
{
nr[g[node][i]]--;
if (nr[g[node][i]] == 0 && !vis[g[node][i]])
dfs(g[node][i]);
}
}
int main()
{
ifstream in("sortaret.in");
int n, m;
in >> n >> m;
for (int i = 1, x, y; i <= m; i++)
{
in >> x >> y;
g[x].push_back(y);
nr[y]++;
}
for (int i = 1; i <= n; i++)
if (nr[i] == 0 && !vis[i])
dfs(i);
out << '\n';
return 0;
}