Pagini recente » Cod sursa (job #3122854) | Cod sursa (job #889484) | Cod sursa (job #2828049) | Cod sursa (job #5803) | Cod sursa (job #631698)
Cod sursa(job #631698)
# include <cstdio>
# include <vector>
using namespace std;
vector<int> v[50001],c;
int nrintrare[50001];
char fr[50001];
int main ()
{
freopen ("sortaret.in","r",stdin);
freopen ("sortaret.out","w",stdout);
int n,m,nod,x,y,in;
scanf ("%d%d",&n,&m);
for (int i=1; i<=m;i++)
{
scanf ("%d%d",&x,&y);
v[x].push_back(y);
nrintrare[y]++;
//vi[y].push_back(x);
}
for (int i=1;i<=n;i++)
if (!nrintrare[i])
{
printf ("%d ",i);
c.push_back(i);
fr[i]=1;
}
for (in=0;in<c.size();in++)
{
nod=c[in];
for (int i=0;i<v[nod].size();i++)
if (!fr[v[nod][i]])
nrintrare[v[nod][i]]--;
for (int i=1;i<=n;i++)
if (!nrintrare[i] && !fr[i])
{
printf ("%d ",i);
c.push_back(i);
fr[i]=1;
}
}
return 0;
}