对数组进行反斜线方向([--][++]or[++][--])的赋值,在反斜线上从上至下,从下至上蜿蜒前进,故名蛇(snake.cpp)
.a[0][0]=1;
C=1
for(i=1;i<=n-1;i++){
if(i%2)
在反斜线上 从下至上([--][++]),C++
else
在反斜线上 从上至下([++][--]),C++
}
a[N-1][N-1]=N*N;
C=N*N
for(i=n-2;i>0;i--){
if(i%2)
[++][--],C--
else
[--][++],C--