Pagini recente » Cod sursa (job #85993) | Cod sursa (job #1426334) | Cod sursa (job #1649854) | Cod sursa (job #178807) | Cod sursa (job #2498286)
#include <iostream>
using namespace std;
int N, listA[5001][5001], nrVecini[50001];
int visited[50001], k = 0, stiva[50001];
void visit(int i) {
visited[i] = 0;
for(int j =1 ; j <= nrVecini[i]; j++) {
if(visited[listA[i][j]] == -1)
visit(listA[i][j]);
}
stiva[++k] = i;
}
int main()
{
int M;
cin >> N >> M;
while (M--) {
int x, y;
cin >> x >> y;
nrVecini[x]++;
listA[x][nrVecini[x]] = y;
}
for(int i = 1; i <= N; i++)
visited[i] = -1;
for(int i = 1; i <= N; i++) {
if(visited[i] == -1)
visit(i);
}
for(int i = N; i >= 1; i--)
cout << stiva[i] << " ";
return 0;
}