Pagini recente » Cod sursa (job #1453776) | Cod sursa (job #2443520) | Cod sursa (job #1531994) | Cod sursa (job #12517) | Cod sursa (job #2629320)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
int n, m;
vector < int > v[50007];
queue < int > q;
int sub[50007];
int x, y;
int main()
{
in >> n >> m;
for ( register int i = 1 ; i <= m ; ++i )
{
in >> x >> y;
v[x].push_back (y);
++sub[y];
}
for ( register int i = 1 ; i <= n ; ++i )
if ( sub[i] == 0 )
q.push (i);
while ( !q.empty () )
{
x = q.front ();
q.pop ();
out << x << " ";
for ( y = 0 ; y < v[x].size () ; ++y )
{
--sub[v[x][y]];
if ( sub[v[x][y]] == 0 )
q.push ( v[x][y] );
}
}
return 0;
}