Pagini recente » Cod sursa (job #2511547) | Cod sursa (job #1399799) | Cod sursa (job #3250271) | Cod sursa (job #2379028) | Cod sursa (job #1181016)
#include <fstream>
#include <vector>
using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
int n, m, s[50001], pred[50001], a, b, i, l;
vector<int> succesor[50001];
vector<int>::iterator it;
int main() {
fi >> n >> m;
while (m--) {
fi >> a >> b;
succesor[a].push_back(b); pred[b]++;
}
for (i = 1; i <= n; i++)
if (not pred[i])
l++, s[l] = i;
for (i = 1; i <= n; i++)
for (it = succesor[s[i]].begin(); it != succesor[s[i]].end(); it++) {
pred[*it]--;
if (not pred[*it])
l++, s[l] = *it;
}
for (i = 1; i <= n; i++)
fo << s[i] << ' ';
return 0;
}