Pagini recente » Cod sursa (job #1472008) | Cod sursa (job #897362) | Cod sursa (job #497808) | Cod sursa (job #3256172) | Cod sursa (job #1455406)
#include <stdio.h>
#include <vector>
#include <stack>
#define NMAX 50001
using namespace std;
vector <int> V[NMAX];
int N, M, i, j;
stack <int> stiva;
bool visited[NMAX];
int count =1;
void DFS(int index){
if(count == N)
printf("%d", index);
else
printf("%d ", index);
count++;
visited[index] = 1;
for (j=0; j<V[index].size(); j++)
if (visited[V[index][j]] == 0)
DFS(V[index][j]);
}
int main(){
FILE *f = freopen("sortaret.in","r",stdin);
FILE *g = freopen("sortaret.out","w",stdout);
int x, y;
scanf("%d %d ", &N, &M);
for (i=0; i<M; i++){
scanf("%d %d ", &x, &y);
V[x].push_back(y);
}
//for (i=1; i<=N; i++){
// for (j=0; j<V[i].size(); j++)
// printf("%d ", V[i][j]);
// printf("\n");
//}
for(i=1; i<=N; i++){
if(visited[i] == 0)
DFS(i);
}
return 0;
}