嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
实现棋盘覆盖问题
public static void chessBoard(int dr, int dc, int tr, int tc, int size) {
if (size == 1) {
return;
}
int t = tile ;
/** 分割棋盘后的size */
int s = size / 2;
// 判断特殊方格是否在左上角的小棋盘中
if (tr < dr s && tc < dc s) {
chessBoard(dr, dc, tr, tc, s);
} else {
board[dr s - 1][dc s - 1] = t;
chessBoard(dr, dc, dr s - 1, dc s - 1, s);
}
// 判断特殊方格是否在右上角的小棋盘中
if (tr < dr s && tc >= dc s) {
chessBoard(dr, dc s, tr, tc, s);
} else {
board[dr s - 1][dc s] = t;
chessBoard(dr, dc s, dr s - 1, dc s, s);
}
// 判断特殊方格是否在左下角的小棋盘中
if (tr >= dr s && tc < dc s) {
chessBoard(dr s, dc, tr, tc, s);
} else {
board[dr s][dc s - 1] = t;
chessBoard(dr s, dc, dr s, dc s - 1, s);
}
// 判断特殊方格是否在右下角的小棋盘中
if (tr >= dr s && tc >= dc s) {
chessBoard(dr s, dc s, tr, tc, s);
} else {
board[dr s][dc s] = t;
chessBoard(dr s, dc s, dr s, dc s, s);
}
}
public static void main(String[] args) {
try{
if(args[0]!=null){
SIZE = Integer.parseInt(args[0], 10);
}
if(args[1]!=null){
TR = Integer.parseInt(args[1], 10);
}
if(args[2]!=null){
TC = Integer.parseInt(args[2], 10);
}
}catch(Exception e){
System.out.print("\t(部分)采用默认参数");
}
System.out.printf("\t棋盘规模:%d*%d",SIZE,SIZE);
System.out.printf("\t特殊方格:(%d,%d)",TR,TC);