Pagini recente » Cod sursa (job #95386) | Cod sursa (job #2305972) | Cod sursa (job #403052) | Cod sursa (job #2072191) | Cod sursa (job #961472)
Cod sursa(job #961472)
#include<cstdio>
#include<queue>
#include<vector>
using namespace std;
int x,n,m,i,x1,y1,cnt[50009];
queue < int > cc;
vector < int > v[50009];
vector < int > ::iterator it;
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d",&n);
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d",&x1);
scanf("%d",&y1);
v[x1].push_back(y1);
cnt[y1]++;
}
for(i=1;i<=n;i++)
if(cnt[i]==0)
{
cc.push(i);
printf("%d ",i);
}
while(!cc.empty())
{
x=cc.front();
for(it=v[x].begin();it!=v[x].end();it++)
{
cnt[*it]--;
if(cnt[*it]==0)
{
cc.push(*it);
printf("%d ",*it);
}
}
cc.pop();
}
return 0;
}