Pagini recente » Cod sursa (job #2945964) | Cod sursa (job #1646464) | Cod sursa (job #1438376) | Cod sursa (job #1533206) | Cod sursa (job #1366607)
#include <cstdio>
#include <vector>
using namespace std;
vector<int> s;
vector<int> v[50001];
int n, m;
bool used[50001];
void dfs(int nod){
if(used[nod])
return;
used[nod] = true;
for(int i = 0; i < v[nod].size(); ++i)
if(!used[v[nod][i]])
dfs(v[nod][i]);
s.push_back(nod);
}
int main(){
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d %d", &n, &m);
for(int i = 1; i <= m; ++i){
int x, y;
scanf("%d %d", &x, &y);
v[x].push_back(y);
}
for(int i = 1; i <= n; ++i)
if(!used[i])
dfs(i);
for(int i = s.size() - 1; i >= 0; --i)
printf("%d ", s[i]);
printf("\n");
}