Pagini recente » Cod sursa (job #2813608) | Cod sursa (job #385251) | Cod sursa (job #1207596) | Cod sursa (job #1319029) | Cod sursa (job #2271972)
#include <fstream>
#include <vector>
#include <bitset>
#include <algorithm>
using namespace std;
int const NM = 5e4 + 7;
vector <int> v [NM] , s;
bitset <NM> o ;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
inline void DF (int node){
o [node] = 1;
vector <int> :: iterator it;
for(it = v [node] . begin () ; it != v [node] . end () ; ++ it)
if (! o [*it])
DF (*it);
s . push_back (node);
}
int main (){
int n , m , i;
f >> n >> m;
for(i = 1 ; i <= m ; ++ i){
int a , b;
f >> a >> b;
v [a] . push_back (b);
}
for(i = 1 ; i <= n ; ++ i)
if (! o [i])
DF (i);
vector <int> :: iterator it;
reverse (s . begin () , s . end ());
for(it = s . begin () ; it != s . end () ; ++ it)
g << *it << ' ';
return 0;
}