【发布时间】:2013-02-04 04:24:50
【问题描述】:
我正在努力计算我可以在 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;
}
【问题讨论】:
-
搜索“回溯”编程算法。这是一个递归的。经常在学校用于家庭作业、练习......几乎从不
-
这与N-Queens Problem 非常相似,您可能想看看它。遗传算法或爬山将成为您的朋友。