Pagini recente » Cod sursa (job #228954) | Cod sursa (job #1964107) | Cod sursa (job #968834) | Cod sursa (job #901601) | Cod sursa (job #1046001)
#include <fstream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <string.h>
#define min(a,b) ((a<b)?a:b)
#define max(a,b) ((a<b)?b:a)
#define abs(a) ((a<0)?-a:a)
#define INF 1000001
using namespace std;
#ifndef TEST
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
#else
ifstream fin ("input.txt");
ofstream fout ("output.txt");
#endif
#define MAXN 50000
int n,m;
vector<int> L,S;
char a[MAXN];
vector<int> E[MAXN];
void DFS(int x)
{
a[x]=1;
for (int i=0; i<E[x].size(); i++)
if (!a[E[x][i]]) DFS(E[x][i]);
L.push_back(x);
}
int main()
{
memset(a,0,sizeof(a));
fin>>n>>m;
for (int i=0; i<n; i++)
S.push_back(i);
for (int i=0; i<m; i++)
{
int x,y;
fin>>y>>x;
E[x-1].push_back(y-1);
}
for(int i=0; i<n; i++)
if (!a[i]) DFS(i);
for (int i=0; i<n; i++)
fout<<L[i]+1<<' ';
return 0;
}