Pagini recente » Cod sursa (job #2242432) | Cod sursa (job #2982196) | Cod sursa (job #2378836) | Cod sursa (job #1759926) | Cod sursa (job #916254)
Cod sursa(job #916254)
#include <fstream>
#include <vector>
#define pb push_back
#define sz size()
using namespace std;
ifstream f("sortaret.in"); ofstream g("sortaret.out");
const int NMAX = 50003;
int n, m, x, y, fr[NMAX], coada[NMAX * 2];
vector<int> G[NMAX];
inline void read_Data() {
f >> n >> m;
for(int i = 1; i <= m; ++i) {
f >> x >> y;
G[x].pb(y);
fr[y] ++;
}
}
inline void solve() {
for(int i = 1; i <= n; ++i) if(!fr[i]) coada[++coada[0]] = i;
for(int i = 1; i <= coada[0]; ++i) {
int nod = coada[i];
for(int j = 0; j < G[nod].sz; ++j) {
fr[G[nod][j]] --;
if(!fr[G[nod][j]]) coada[++coada[0]] = G[nod][j];
}
}
}
inline void write_Data() {
for(int i = 1; i <= n; ++i) g << coada[i] << ' ';
g.close();
}
int main() {
read_Data();
solve();
write_Data();
return 0;
}