#include #include #define SIZE 100 char g[SIZE][SIZE]; int i,j,k,m,n,p,x,a,size; int v[SIZE], cnt[SIZE][SIZE], is, best[SIZE][SIZE], prev[SIZE][SIZE]; dump(int p, int x){ if (p) dump(p-1,prev[p][x]); printf(" %d",x+1); } main(){ while (1 == scanf("%d",&n) && n != -1) { memset(g,0,sizeof(g)); memset(cnt,0,sizeof(cnt)); for (i=0;i0;j--) { for (i=0;i best[n+1][j]) { best[n+1][j] = cnt[i][j] + best[n][i]; prev[n+1][j] = i; } } } } printf("%d",p+1); dump(p,SIZE-1); printf("\n"); } if (n != -1) printf("missing end delimiter\n"); }