Pagini recente » Cod sursa (job #534735) | Cod sursa (job #2877778) | Cod sursa (job #55259) | Cod sursa (job #1329542) | Cod sursa (job #2786185)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
const int N = 50005;
vector<int> gr[N];
int pred[N], n;
void sortaret() {
queue<int> q;
for (int i = 1; i <= n; ++i)
if (!pred[i])
q.push(i);
while (!q.empty()) {
auto nod = q.front();
q.pop();
cout << nod << " ";
for (auto vec : gr[nod])
if (!--pred[vec])
q.push(vec);
}
}
int main() {
int m;
cin >> n >> m;
while (m--) {
int x, y;
cin >> x >> y;
gr[x].push_back(y);
++pred[y];
}
cin.close();
sortaret();
cout.close();
return 0;
}