Pagini recente » Cod sursa (job #3161003) | Cod sursa (job #2635346) | Cod sursa (job #2375697) | Cod sursa (job #1367816) | Cod sursa (job #1779926)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
#define MaxN 50002
#define pb push_back
vector<int> G[MaxN], ans;
int viz[MaxN];
int n, m, x, y;
void Df(int);
int main() {
fin >> n >> m;
while(fin >> x >> y) {
G[x].pb(y);
}
for ( int i = 1; i <= n; ++i )
if ( viz[i] == 0 )
Df(i);
for ( vector<int>::reverse_iterator rit = ans.rbegin(); rit != ans.rend(); ++rit )
fout << *rit << ' ';
fin.close();
fout.close();
return 0;
}
void Df(int i) {
viz[i] = 1;
for ( auto v : G[i] )
if ( !viz[v] )
Df(v);
ans.pb(i);
}