Pagini recente » Cod sursa (job #3003311) | Cod sursa (job #2585662) | Cod sursa (job #2781236) | Cod sursa (job #2888224) | Cod sursa (job #846126)
Cod sursa(job #846126)
#include <stdio.h>
#include <vector>
using namespace std;
#define Max 50001
int n,m;
vector<int>g[Max];
int v[Max],k;
bool viz[Max];
void dfs(int x)
{
int y;
viz[x]=1;
for(int i=0;i<g[x].size();i++)
{
y=g[x][i];
if(!viz[y])dfs(y);
}
v[k--]=x;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int x,y;
scanf("%d %d",&n,&m);
while(m--)
{
scanf("%d %d",&x,&y);
g[x].push_back(y);
}
k=n;
for(int i=1;i<=n;i++)
if(!viz[i])
dfs(i);
for(int i=1;i<=n;i++)printf("%d ",v[i]);
return 0;
}