Pagini recente » Diferente pentru problema/tort intre reviziile 7 si 8 | Cod sursa (job #2606656) | Cod sursa (job #1411936) | Cod sursa (job #2142246) | Cod sursa (job #1165410)
#include <algorithm>
#include <cstdio>
#include <vector>
#include <bitset>
using namespace std;
const int N=50005;
bitset <N> v;
vector <int> G[N], nodes;
void dfs(const int n)
{
v[n]=1;
for(auto p: G[n]) if(!v[p]) dfs(p);
nodes.push_back(n);
}
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int n, m, i, x, y;
scanf("%d%d", &n, &m);
while(m--)
{
scanf("%d%d", &x, &y);
G[x].push_back(y);
}
for(i=1;i<=n;i++) if(!v[i]) dfs(i);
reverse(nodes.begin(), nodes.end());
for(auto p: nodes) printf("%d ", p);
}