【发布时间】:2018-08-29 07:49:37
【问题描述】:
class Board
{
public static void main(String args[])
{
int i, j;
int x1 = 0, y1 = 0;
int x2 = 0, y2 = 0;
int[][] board = new int[8][8];
x1 = Integer.parseInt(args[0]);
y1 = Integer.parseInt(args[1]);
x2 = Integer.parseInt(args[2]);
y2 = Integer.parseInt(args[3]);
// initialize the board to 0's
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j++)
board[i][j] = 0;
board[x1][y1] = 1;
board[x2][y2] = 1;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
{
System.out.print(board[i][j]+" ");
}
System.out.println();
}
}
}
这是我唯一能做的,就是用 0 和 1 打印电路板
板:
0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
我的目标是编码并确定 2 个皇后(即两个 1)是否会相互交叉。
我尝试了很多方法,但其中一些不起作用。 如果你能帮助我,我真的很感激:)
P.S 还在学习编码 :)
【问题讨论】:
-
提示:将问题分解为更小的问题。你的目标是选择两个皇后中的一个,并检查它是否可以在 8 个可能的方向上“看到”另一个。编写一个可以检查单个方向的通用函数,并使用不同的参数调用它 8 次。如果其中任何一个是阳性的,则皇后会相互交叉
-
谢谢,我会试试的。 :)