Pagini recente » Cod sursa (job #2045027) | Cod sursa (job #1992377) | Cod sursa (job #2355778) | Cod sursa (job #1649873) | Cod sursa (job #410418)
Cod sursa(job #410418)
#include<stdio.h>
#include<vector>
using namespace std;
vector <int> f[50005];
int viz[50005],n,m,x,y,c[50005],i,k,v[50005];
void dfs(int nod)
{
int N;
viz[nod]=1;
N=f[nod].size();
for(int j=0;j<N;j++)
if(!viz[f[nod][j]])
dfs(f[nod][j]);
c[k--]=nod;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d %d",&x,&y);
f[x].push_back(y);
v[y]++;
}
for(i=1;i<=n;i++)
if(!v[i])
{
f[0].push_back(i);
}
k=n;
dfs(0);
for(i=1;i<=n;i++)
printf("%d ",c[i]);
return 0;
}