Pagini recente » Borderou de evaluare (job #1382011) | Borderou de evaluare (job #2736710) | Borderou de evaluare (job #2419975) | oji20192 | Cod sursa (job #802422)
Cod sursa(job #802422)
#include<stdio.h>
#include<vector>
using namespace std;
vector<int> v[50005];
int tim=0,n,m;
int stop[50005];
int viz[50005];
void dfs(int x)
{
viz[x]=1;
vector<int>::iterator it;
for(it=v[x].begin();it!=v[x].end();it++)
if(!viz[*it]) dfs(*it);
stop[++tim]=x;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int x,y,i;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
v[x].push_back(y);
}
for(i=1;i<=n;i++)
if(viz[i]==0)
dfs(i);
for(i=n;i>=2;i--)
printf("%d ",stop[i]);
printf("%d\n",stop[1]);
return 0;
}