我正在努力弄清楚我可以在 nxn 板上放置的最大主教数量,而他们不能互相攻击。我无法检查对角线。下面是我检查对角线的方法。主教当前所在的方格被标记为真,因此该方法应该检查对角线,如果它返回真,那么放置主教的方法将移动到下一行。
我不太确定出了什么问题,任何帮助将不胜感激。
private boolean bishopAttack(int row, int column)
{
int a,b,c;
for(a = 1; a <= column; a++)
{
if(row<a)
{
break;
}
if(board[row-a][column-a])
{
return true;
}
}
for(b = 1; b <= column; b++)
{
if(row<b)
{
break;
}
if(board[row+b][column-b])
{
return true;
}
}
for(c = 1; b <= column; b++)
{
if(row<c)
{
break;
}
if(board[row+c][column+c])
{
return true;
}
}
return false;
}