Pagini recente » Cod sursa (job #2458756) | Cod sursa (job #415383) | Cod sursa (job #1578622) | Cod sursa (job #170279) | Cod sursa (job #892507)
Cod sursa(job #892507)
#include<stdio.h>
#include<vector>
#define maxn 50002
using namespace std;
int n,m,d[maxn],q[maxn];
vector <int> v[maxn];
void cit()
{
int i,a,b;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
scanf("%d %d",&a,&b),v[a].push_back(b),d[b]++;
}
void afis()
{
int i;
for(i=1;i<=n;i++)
printf("%d ",q[i]);
}
void rez()
{
int i,j,nr;
for(i=1;i<=n;i++)
if(d[i]==0)
q[++q[0]]=i;
for(i=1;i<=n;i++)
{
nr=v[i].size();
for(j=0;j<nr;j++)
{
d[v[i][j]]--;
if(d[v[i][j]]==0)
q[++q[0]]=v[i][j];
}
}
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
cit();
rez();
afis();
fclose(stdin);
fclose(stdout);
return 0;
}