Javaボードオーバーライドの問題
1515 ワード
碁盤カバー問題は2点をつかめばよい:1.大きな碁盤Cを4つに分けてCの左上は座標です(0,0)この左上隅座標はどの小判盤にあるかを区別するために用いられ,この左上隅の座標変化をつかむ.特殊な数字のない他の3つを分治し続ける必要があるが,彼には特殊な数字はなく,第1象限であれば右下を特殊とし,第2象限であれば左下を特殊とし,第3象限であれば右上を特殊第四象限であれば左上を特殊とする
この2つの点を把握すると、問題はコードを解決します.
この2つの点を把握すると、問題はコードを解決します.
import java.util.Scanner;
public class ChessBoard {
/*
* : n×n (n = 2k) , , , 。
, 4 L , 2 L 。
*/
/*
*
, ,
n,
, -1, 0。
*/
static int number=1;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int array[][]=new int[n][n];
int dr=0;
int dc=0;
for(int i=0;i=j+halfsize) {
chessboard(i,j+halfsize,dr,dc,halfsize,array);
}
else {
array[i+halfsize-1][j+halfsize]=t;
chessboard(i,j+halfsize,i+halfsize-1,j+halfsize,halfsize,array);
}
if(dr>=i+halfsize&&dc=i+halfsize&&dc>=j+halfsize) {
chessboard(i+halfsize,j+halfsize,dr,dc,halfsize,array);
}else {
array[i+halfsize][j+halfsize]=t;
chessboard(i+halfsize,j+halfsize,i+halfsize,j+halfsize,halfsize,array);
}
}
}