package FZ;
/*
2 0 3 3
2 2 1 3
4 1 1 1
4 4 1 1
棋盘一个特殊点用L型的棋子进行覆盖
//进行分治法计算 然后分成更小的 比如4分成2,2,2,2 的矩阵 然后进行继续分 分成1,1,1,1的标明其他非特殊点
*/
public class ChessBoradProblem {
private int[][] board;//棋盘
private int specialRow;//特殊的行
private int specialCol;//特殊的列、
private int size;
private int type=0;
public ChessBoradProblem(int specialRow,int specialCol,int size){
this.specialRow=specialRow;
this.specialCol=specialCol;
this.size=size;
this.board=new int[size][size];
}
/*
board棋盘
specialRow特殊行
specialCol特殊的列
leftRow矩阵最左边的行
leftCol矩阵最左边的列
size 棋盘的大小
*/
private void ChessBoard(int specialRow,int specialCol,int leftRow,int leftCol,int size){
if (size==1){
return;
}
int subsize=size/2;
type=type%4+1;
int n=type;
//特殊点在左上角
分治学习之棋盘覆盖问题(java)
最新推荐文章于 2023-03-26 11:57:18 发布