| 
 | 
back to boardis my algorithm efficient?? (first...sorry for my english) I am a beginner in this field, and this is the first problem I solve using "graph theory" I got ac in 0.001s and 74 KB of memory I just do a topological sort, but I have never seen an implementation of this, so I did what it seems to be the more effective way to me.   here is my code: #include <stdio.h> char g[101][101];   init(int n){     int i,j;     for(i=1;i<=n;i++)         for(j=1;j<=n;j++)             g[i][j]=0; }   topological_sort(int n){     int i,j,k,u,v=0;   for(k=1;;k++)       for(i=1;i<=n;i++){          for(j=1;j<=n;j++){               if(g[j][i]==1) break;               if(j==n){             v++;                         if(v==n){                             printf("%d\n",i);                             return 0;                         }                         printf("%d ",i);                         for(u=1;u<=n;u++)                             g[i][u]=0;                         for(u=1;u<=n;u++)                             g[u][i]=1;                     }              }       } }   int main(){     int n,i,j,t;   scanf("%d",&n);   init(n);   for(i=1;i<=n;i++)         for(j=1;;j++){             scanf("%d",&t);             if(t==0) break;             g[i][t]=1;         }     topological_sort(n);   return 0; } if someone can help me I would appreciatevery much and please if someone doesn't understand my ugly code, please ask me (I know maybe many of my codes are ugly ,slow and hard to understand ) thanks for all! byeee     Edited by author 30.04.2005 08:59  |  
  | 
|