Pagini recente » Cod sursa (job #3272326) | Cod sursa (job #2984827) | Cod sursa (job #578135) | Cod sursa (job #2344722) | Cod sursa (job #1493462)
#include <stdio.h>
#include <vector>
#include <bitset>
#define NMAX 50005
using namespace std;
vector <int> G[NMAX];
int k, st[NMAX];
bitset <NMAX> viz;
void dfs(int nod){
viz[nod] = 1;
for(vector <int> :: iterator it = G[nod].begin(); it != G[nod].end(); ++it)
if(!viz[*it])
dfs(*it);
st[++k] = nod;
}
int main(){
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int N, M, x, y;
scanf("%d %d", &N, &M);
for(int i = 1; i <= N; ++i){
scanf("%d %d", &x, &y);
G[x].push_back(y);
}
for(int i = 1; i <= N; ++i)
if(!viz[i])
dfs(i);
for(int i = N; i >= 1; --i)
printf("%d ", st[i]);
return 0;
}