Pagini recente » Cod sursa (job #753357) | Cod sursa (job #1704958) | Cod sursa (job #3268009) | Cod sursa (job #2942671) | Cod sursa (job #2077265)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,gr[50001],k=0,x,j;
struct grad
{
int a,b;
}v[100000];
int main()
{
int q[50001];
f>>n>>m;
for(int i=1;i<=m;i++)
{
f>>v[i].a>>v[i].b;
gr[v[i].b]++;
}
for(int i=1;i<=n;i++)
{
if(gr[i]==0)
{
k++;
q[k]=i;
}
}
for(int i=1;i<=n;i++)
{
x=q[i];
j=1;
while(j<=m)
{
if(v[j].a==x)
{
gr[v[j].b]=gr[v[j].b]-1;
if(gr[v[j].b]==0)
{
k++;
q[k]=v[j].b;
}
v[j].a=v[m].a;
v[j].b=v[m].b;
m--;
}
else
j++;
}
}
for(int i=1;i<=n;i++)
g<<q[i]<<" ";
f.close();
g.close();
return 0;
}