Pagini recente » Cod sursa (job #1687826) | Cod sursa (job #2534167) | Cod sursa (job #2226902) | Cod sursa (job #1547518) | Cod sursa (job #2858715)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
set<int> st;
vector<int> G[50005];
int n, m, x, y, g[50005];
int main() {
fin >> n >> m;
for(int i = 1; i <= m; i++) {
fin >> x >> y;
G[x].push_back(y);
g[y]++;
}
fin.close();
for(int i = 1; i <= n; i++) {
if(g[i] == 0) {
st.insert(i);
}
}
while(!st.empty()) {
x = *st.begin();
st.erase(x);
fout << x << " ";
for(int i : G[x]) {
g[i]--;
if(g[i] == 0) {
st.insert(i);
}
}
}
return 0;
}