Cod sursa(job #1363641)

Utilizator Edward2012Eduard Ursinschi Edward2012 Data 27 februarie 2015 09:22:37
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream f("sort.in");
ofstream g("sort.out");
int n,m,x,y,i,j,p;
int A[20001][20001],S[20001],c[20001],L[20001],K;
int main()
{f>>n>>m;
 for(i=1;i<=m;i++){f>>x>>y;
                   A[x][0]=A[x][0]+1;
                   p=A[x][0];
                   A[x][p]=y;
                  S[y]++;}
for(i=1;i<=n;i++) c[i]=1;
/* for(i=1;i<=n;i++)
 {for(j=1;j<=n;j++)
     g<<A[i][j]<<' ';
 g<<'\n';}
*/
//for(i=1;i<=n;i++) g<<S[i]<<' ';
K=0;
while(K<n)
{for(i=1;i<=n;i++)
   if(S[i]==0&&c[i]==1) {K++;L[K]=i;
                         for(int p=1;p<=A[i][0];p++)
                              S[A[i][p]]--;

                         c[i]=0;}
}

for(i=1;i<=n;i++) g<<L[i]<<' ';
return 0;
}