Pagini recente » Cod sursa (job #2507127) | Cod sursa (job #92737) | Cod sursa (job #2892578) | Cod sursa (job #1742988) | Cod sursa (job #2601623)
#include <bits/stdc++.h>
#define NMAX 50009
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m,contsol,sol[NMAX];
struct nodd
{
int nrparinti;
vector <int> copii;
}nod[NMAX];
int main()
{
int i,j,a,b;
bool ok;
fin>>n>>m;
for(i=1; i<=m; i++)
{
fin>>a>>b;
nod[a].copii.push_back(b);
nod[b].nrparinti++;
}
for(i=1;i<=n;i++)
if(nod[i].nrparinti==0)
sol[++contsol]=i;
for(i=1;i<=n;i++)
for(j=0;j<nod[sol[i]].copii.size();j++)
{
nod[nod[sol[i]].copii[j]].nrparinti--;
if(nod[nod[sol[i]].copii[j]].nrparinti==0)
sol[++contsol]=nod[sol[i]].copii[j];
}
for(i=1; i<=n; i++)
fout<<sol[i]<<' ';
return 0;
}