Pagini recente » Cod sursa (job #1985005) | Cod sursa (job #882776) | Cod sursa (job #2932092) | Cod sursa (job #946950) | Cod sursa (job #1255079)
#include <fstream>
#include <vector>
using namespace std;
#define fileIn "sortaret.in"
#define fileOut "sortaret.out"
#define maxN 50030
#define maxM 100050
vector <int> vec[maxN];
int prev[maxN];
int main()
{
ifstream sIn( fileIn );
ofstream sOut( fileOut );
int n, m, i;
sIn >> n >> m;
int x, y;
int first;
for ( i = 1; i <= m; ++i )
{
sIn >> x >> y;
vec[x].push_back( y );
++prev[y];
}
for ( i = 1; i <= n; ++i )
{
if ( !prev[i] )
first = i;
}
for ( i = 1; i <= n; ++i )
{
sOut << first << ' ';
int size = vec[i].size();
for ( y = 0 ; y < size; ++y )
{
--prev[ vec[i][y] ];
if ( !prev[ vec[i][y] ] )
first = vec[i][y];
}
}
sOut << '\n';
return 0;
}