Pagini recente » Cod sursa (job #959990) | Rezultatele filtrării | Cod sursa (job #2836466) | Cod sursa (job #1465659) | Cod sursa (job #606584)
Cod sursa(job #606584)
# include <fstream>
# include <queue>
# include <vector>
using namespace std;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
int n, m, x, y, ap[50010];
vector <int> A[50010];
queue <int> Q;
int main ()
{
f >> n >> m;
for (int i = 1; i <= m; ++i)
f >> x >> y, A[x].push_back (y), ++ap[y];
for (int i = 1; i <= n; ++i)
if (!ap[i]) Q.push (i);
for (; !Q.empty (); Q.pop ())
{
int ret = Q.front ();
g << ret << ' ';
for (vector <int> :: iterator it = A[ret].begin (); it != A[ret].end (); ++it)
{
--ap[*it];
if (!ap[*it])
Q.push (*it);
}
}
g.close ();
return 0;
}