Pagini recente » Cod sursa (job #1199070) | Cod sursa (job #1007404) | Cod sursa (job #698065) | Cod sursa (job #1578225) | Cod sursa (job #392275)
Cod sursa(job #392275)
#include<stdio.h>
#include<vector>
using namespace std;
#define SIZE 50010
int N, M, c[SIZE], solutie[SIZE], n;
vector <int> graf[SIZE];
void DFS(int u)
{
c[u] = 1;
for(int j = 0; j < graf[u].size(); j++)
if(!c[graf[u][j]]) DFS(graf[u][j]);
solutie[++n] = u;
}
int main()
{
int i, x, y;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d", &N, &M);
for(i = 1; i <= M; i++)
{
scanf("%d %d", &x, &y);
graf[x].push_back(y);
}
fclose(stdin);
for(i = 1; i <= N; i++)
if(!c[i]) DFS(i);
for(i = n; i >= 1; i--)
printf("%d ", solutie[i]);
fclose(stdout);
return 0;
}