Pagini recente » Monitorul de evaluare | Cod sursa (job #2476892) | Profil neamtuanca | Diferente pentru calibrare-limite-de-timp intre reviziile 177 si 178 | Cod sursa (job #2741768)
#include<fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int a[5001][5001],x,y,n, gin[50000],r,i,j;
int main(){
int c[50000],p,u;
f>>n>>r;
for(i=0;i<r;i++)
{
f>>x>>y;
a[x][y]=1;
gin[y]++;
}
//adaugam toate elementele cu grad intern 0 in coada c
p=0;u=-1;
for(i=1;i<=n;i++)
if(gin[i]==0)
{
u++; c[u]=i;
}
while(p<=u){
x=c[p]; p++;
g<<x<<" ";
for(j=1;j<=n;j++)
if(a[x][j]==1){
gin[j]--;
if(gin[j]==0){
u++;
c[u]=j;
}
}
}
}