Pagini recente » Cod sursa (job #62973) | Cod sursa (job #289298) | Cod sursa (job #806246) | Cod sursa (job #1022798) | Cod sursa (job #1891548)
///FLAVIUS, UBESTE-MA
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin( "sortaret.in" );
ofstream fout("sortaret.out");
vector< int > G[50010];
int ans[50010],grad[50010],i,j,n,m,x,y;
queue <int> Q;
int main()
{
fin>>n>>m;
for( i = 1 ; i <= m ; i++ )
{
fin>>x>>y;
grad[ y ]++;
G[ x ].push_back( y );
}
for( i = 1 ; i <= n ; i++ )
{
if( grad[ i ] == 0 )
{
Q.push( i );
}
}
while( Q.size() )
{
ans[ ++ans[ 0 ] ] = Q.front();
for( auto it : G[ Q.front() ] )
{
grad[ it ]--;
if( grad[ it ] == 0 )
Q.push( it );
}
Q.pop();
}
for( i = 1 ; i <= n ; i++ )
fout<<ans[ i ]<<' ';
return 0;
}