Pagini recente » Cod sursa (job #376611) | Cod sursa (job #1894532) | Cod sursa (job #918661) | Cod sursa (job #1067688) | Cod sursa (job #2955473)
#include <fstream>
#include <vector>
using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
int n, m, s[50001], predecesori[50001], a, b, i, l;
vector<int> succesori[50001];
int main() {
fi >> n >> m;
while (m--) {
fi >> a >> b;
succesori[a].push_back(b);
predecesori[b]++;
}
for (i = 1; i <= n; i++)
if (not predecesori[i])
s[++l] = i;
for (i = 1; l < n; i++)
for (auto es : succesori[s[i]]) {
predecesori[es]--;
if (not predecesori[es])
s[++l] = es;
}
for (i = 1; i <= n; i++)
fo << s[i] << ' ';
return 0;
}