public class ChessboardCoverage {
/**
* @param args
*/
public static int tile;
public static int[][] Chessboard;
public static void main(String[] args) {
int num = 16;
Chessboard = new int[num][num];
tile = 0;
int tr = 0;
int tc = 0;
int dr = 9;
int dc = 11;
int size = num;
CoverageOne(tr, tc, dr, dc, size);
print();
}
private static void print() {
for (int i = 0; i < Chessboard.length; i++) {
for (int j = 0; j < Chessboard.length; j++) {
if (Chessboard[i][j] < 10) {
System.out.print("| " + Chessboard[i][j]);
} else {
System.out.print("|" + Chessboard[i][j]);
}
}
System.out
.println("|\n------------------------------------------------");
}
}
private static void CoverageOne(int tr, int tc, int dr, int dc, int size) {
if (size == 1) {
return;
}
int t = tile++;
int s = size / 2;
//
if (dr < tr + s && dc < tc + s) {
CoverageOne(tr, tc, dr, d