Pagini recente » Diferente pentru problema/fpwl intre reviziile 13 si 5 | Diferente pentru problema/bitonic intre reviziile 18 si 14 | Diferente pentru utilizator/vladdobro07 intre reviziile 45 si 14 | Diferente pentru template/detailed-feedback intre reviziile 2 si 4 | Cod sursa (job #949378)
Cod sursa(job #949378)
#include<fstream>
#include<list>
#define DMAX 50002
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
list<int> l[DMAX];
list<int>::iterator it;
int a,b,i,n,m,nod,gint[DMAX],c[DMAX];
int main()
{
fin>>n>>m;
for(i=1;i<=m;++i)
fin>>a>>b, l[a].push_back(b), ++gint[b];
for(i=1;i<=n;++i)
if(!gint[i])
c[++c[0]]=i;
for(i=1;i<=n;++i)
{
nod=c[i];
for(it=l[nod].begin();it!=l[nod].end();++it)
{
--gint[*it];
if(!gint[*it])
c[++c[0]]=*it;
}
}
for(i=1;i<=n;++i)
fout<<c[i]<<" ";
return 0;
}