public class chessBoard {
int tile=1;
int[][]board=new int[4][4];
public static void main(String[] args) {
chessBoard c=new chessBoard();
c.chessBoard(0,0,1,1,4);
for(int i=0;i<4;i++) {
for(int j=0;i<4;j++)
System.out.println(c.board[i][j]);
System.out.println();
}
}
public void chessBoard(int tr,int tc,int dr,int dc,int size) {
if(size==1)return;
int t=tile++;//L型骨牌号
int s=size/2;//分割棋盘
//覆盖左上角棋盘
if(dr<tr+s&&dc<tc+s) {
chessBoard(tr,tc,dr,dc,s);
}
else {
board[tr+s-1][tc+s-1]=t;
chessBoard(tr,tc,tr+s-1,tc+s-1,s);
}