Pagini recente » Cod sursa (job #53002) | Cod sursa (job #1410628) | Cod sursa (job #391941) | Cod sursa (job #3157707) | Cod sursa (job #1192666)
#include <cstdio>
#include <vector>
using namespace std;
int i,n,m,x,nr,y,c[100004];
bool sel[100004];
vector<int> g[100004];
void dfs (int x)
{
int i;
sel[x]=true;
for (i=0;i<g[x].size();i++)
if (sel[g[x][i]]==false)
dfs (g[x][i]);
c[++nr]=x;
}
int main()
{
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);
g[x].push_back(y);
}
nr=0;
for (i=1;i<=n;i++)
if (sel[i]==false)
dfs(i);
for (i=n;i>=1;i--)
printf ("%d ", c[i]);
return 0;
}