if(f[k].r>=0 && f[k].c>=0 && f[k].pathnum<=path.pathnum board[f[k].r][f[k].c]==0 && f[k].pathnum>0) { path.pathnum=f[k].pathnum; path.r=f[k].r ; path.c=f[k].c ; }
i=path.r ; j=path.c ; stepnum++; }
board[i][j]=M*M-1 ; //倒数第二个踩入点;
// 寻找最后一个踩入点;
if(i-2>=0&&j-1>=0&&board[i-2][j-1]==0) {
i=i-2 ; j=j-1 ; }
else if(i-2>=0&&j+1<M&&board[i-2][j+1]==0) {
i=i-2 ; j=j+1 ; }
else if(i-1>=0&&j+2<M&&board[i-1][j+2]==0) {
i=i-1 ; j=j+2 ; }
else if(i+1<M&&j+2<M&&board[i+1][j+2]==0) {
i=i+1 ; j=j+2 ; }
else if(j+2<M&&i+1<=M&&board[i+2][j+1]==0) {
i=i+2 ; j=j+1 ; }
else if(i+2<M&&j-1>=0&&board[i+2][j-1]==0) {
i=i+2 ;
&&