Pagini recente » Cod sursa (job #683492) | Cod sursa (job #2175853) | Cod sursa (job #228088) | Cod sursa (job #161471) | Cod sursa (job #1846976)
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod
{ int info;
nod *urm;
};
nod *a[50001];
void Add(nod *&prim,int y)
{ nod *q=new nod;
q->info=y;
q->urm=prim;
prim=q;
}
int n,m;int viz[50001],gr[50001],z,cl[50001],ok;
int main()
{ fin>>n>>m;
int i,k,j;
for(k=1;k<=m;k++)
{fin>>i>>j;
Add(a[i],j);
gr[j]++;
}
/* for(i=1;i<=n;i++)
{ nod *p;
for(p=a[i];p!=NULL;p=p->urm)
fout<<p->info<<" ";
fout<<"\n";
}
*/
ok=0;
while(ok==0)
{ ok=1;
for(i=1;i<=n;i++)
{ if(gr[i]==0&&viz[i]==0)
{ ok=0;
nod *p;
for(p=a[i];p!=NULL;p=p->urm)
gr[p->info]--;
viz[i]=1;
z++;
cl[z]=i;
}
}
}
for(i=1;i<=n;i++)
fout<<cl[i]<<" ";
return 0;
}