Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c语言中的象棋矩阵_C_Algorithm_Matrix - Fatal编程技术网

c语言中的象棋矩阵

c语言中的象棋矩阵,c,algorithm,matrix,C,Algorithm,Matrix,我有一个nxm矩阵,它包含可选的黑白单元格(如棋盘)和一个常数c,如果右下角是黑色,它是0,如果是白色,它是1 我很难计算出在一个nxm矩阵上有多少个8×8不同的、右下角为白色的电路板 我在想我应该从右下角开始检查它的颜色。如果它是白色的,那么我有一个很好的例子(n>8&&m>8),但我不知道如何施加8 x 8条件。如果nxm板的右下角是白色的,那么就有上限((n-7)(m-7)/2)可能的棋盘 如果nxm棋盘的右下角是黑色的,则可能有(n-7)(m-7)/2个棋盘 看到这一点的方法是查看棋盘左

我有一个nxm矩阵,它包含可选的黑白单元格(如棋盘)和一个常数c,如果右下角是黑色,它是0,如果是白色,它是1

我很难计算出在一个nxm矩阵上有多少个8×8不同的、右下角为白色的电路板


我在想我应该从右下角开始检查它的颜色。如果它是白色的,那么我有一个很好的例子(n>8&&m>8),但我不知道如何施加8 x 8条件。

如果nxm板的右下角是白色的,那么就有上限((n-7)(m-7)/2)可能的棋盘


如果nxm棋盘的右下角是黑色的,则可能有(n-7)(m-7)/2个棋盘


看到这一点的方法是查看棋盘左上角的位置。它仅限于nxm栅格中的左上(n-7)x(m-7)子栅格。由于棋盘的左上角始终为白色,因此问题归结为(n-7)x(m-7)子网格中有多少个白色方块。

如果nxm棋盘的右下角为白色,则可能存在天花板((n-7)(m-7)/2)棋盘


如果nxm棋盘的右下角是黑色的,则可能有(n-7)(m-7)/2个棋盘


看到这一点的方法是查看棋盘左上角的位置。它仅限于nxm栅格中的左上(n-7)x(m-7)子栅格。因为棋盘的左上角总是白色的,所以问题归结为(n-7)x(m-7)子网格中有多少个白色方块。

让右下角的索引为
(0,0)
,左上角的索引为
(n,m)
。现在,每个8*8正方形的右下角索引
(i,j)
应保持以下属性:


i让右下角的索引为
(0,0)
,左上角的索引为
(N,M)
。现在,每个8*8正方形的右下角索引
(i,j)
应保持以下属性:


i可能的副本;另请参见&answers。您可能应该添加
algorithm
标记,我看不出这是该问题的重复。在一个n x m矩阵简单的问题中,我很难实现确定右下角为白色的8 x 8个棋盘数量的算法,因为你只有黑色和白色,如果它像一个棋盘,你怎么可能有两个以上的情况?只要数组具有相似的高度和宽度,哪一个是成对的,就只有两个组合?@user2791841您能给出一些示例输入输出吗?n=9和m=9的输出是什么?可以有4个可能的8*8棋盘,我猜ans是2?可能的重复;另请参见&answers。您可能应该添加
algorithm
标记,我看不出这是该问题的重复。在一个n x m矩阵简单的问题中,我很难实现确定右下角为白色的8 x 8个棋盘数量的算法,因为你只有黑色和白色,如果它像一个棋盘,你怎么可能有两个以上的情况?只要数组具有相似的高度和宽度,哪一个是成对的,就只有两个组合?@user2791841您能给出一些示例输入输出吗?n=9和m=9的输出是什么?可能有4个8*8的棋盘,我猜ans是2?
ceil((N - 7) * (M - 7) / 2)