Pagini recente » Cod sursa (job #3201282) | Cod sursa (job #3290760) | Cod sursa (job #1695369) | Cod sursa (job #2817315) | Cod sursa (job #1976028)
#include <fstream>
#include <vector>
#define MAXN 50005
using namespace std;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
vector < int > v[MAXN];
vector < int > sol;
int n, m;
int used[MAXN];
int DFS(int u){
used[u] = 1;
int l = v[u].size();
for(int i = 0; i < l; ++i){
int nod = v[u][i];
if(!used[nod]) DFS(nod);
}
sol.push_back(u);
}
int main(){
f >> n >> m;
for(int i = 1; i <= m; ++i){
int x, y;
f >> x >> y;
v[x].push_back(y);
}
for(int i = 1; i <= n; ++i){
if(!used[i]) DFS(i);
}
int k = sol.size();
for(int i = k - 1; i >= 0; --i) g << sol[i] << ' ';
}