Pagini recente » Cod sursa (job #1788707) | Cod sursa (job #248212) | Cod sursa (job #1797781) | Cod sursa (job #452954) | Cod sursa (job #1814990)
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,lista[100001],urm[100001],inc[50001],sf,stiva[50001];
int gr[50001];
int main()
{
f>>n>>m;
int x,y;
for(int i=1;i<=m;i++)
{
f>>x>>y;
lista[++sf]=y;
urm[sf]=inc[x];
inc[x]=sf;
gr[y]++;
}
int sf=0;
for(int i=1;i<=n;i++)
if(!gr[i])
{
stiva[++sf]=i;
}
for(int i=1;i<=n;i++)
{
int x=stiva[i];
for(int i=inc[x];i;i=urm[i])
{
gr[lista[i]]--;
if(gr[lista[i]]==0)stiva[++sf]=lista[i];
}
}
for(int i=1;i<=n;i++)
g<<stiva[i]<<" ";
return 0;
}