art+1; a[start+1][1] = start; return; } int mid = (end + start)/2; table(a, start, mid); table(a, mid+1, end); copy(a,start,end); } 234 选手第一天第二天 123341 214 第三天4321 第四天5678 第五天6567 第六天7856 第七天8765 56781234 65872143 78562412 87654321 图示隐藏 8/9 2017-4-13 程序实现 void copy(int **a,int start,int end) { if(start >= end || start <= 0) return; int n = end - start + 1;int m = n/2; int mid = (end + start)/2; for(int i=mid+1;i<=end;i++) { for(int j=m;j<n;j++) { a[i][j] = a[i-m][j-m]; } } for(int i=start;i<=mid;i++) { for(int j=m;j<n;j++) { a[i][j] = a[i+m][j-m]; } } } 234 选手第一天第二天 123341 214 第三天4321 第四天5678 第五天6567 第六天7856 第七天8765 56781234 65872143 78562412 87654321 图示隐藏 9/9 2017-4-13 程序实现