Pagini recente » Cod sursa (job #1109516) | Cod sursa (job #2562395) | Cod sursa (job #2218226) | Cod sursa (job #3239156) | Cod sursa (job #1260013)
#include <fstream>
#include <cstdio>
#include <vector>
using namespace std;
ofstream g("sortaret.out");
long nr,n,m,i,j,v[50001],x,y,uz[50001];
vector <long> mat[50001];
void sortare(long k)
{
long sav;
for (int i=0;i<mat[k].size();i++)
if (uz[mat[k][i]]==0)
{
sav=mat[k][i];
sortare(sav);
}
v[nr]=k;
uz[k]=1;
nr--;
}
int main()
{
freopen("sortaret.in","r",stdin);
scanf("%ld%ld",&n,&m);
for (i=1;i<=m;i++)
{
scanf("%ld%ld",&x,&y);
mat[x].push_back(y);
}
nr=n;
for (i=1;i<=n;i++)
if (uz[i]==0)
sortare(i);
for (i=nr+1;i<=n;i++)
g<<v[i]<<' ';
for (i=1;i<=n;i++)
if (uz[i]==0)
g<<i<<' ';
g.close();
return 0;
}