mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-10-24 14:28:56 +08:00
1.5 KiB
1.5 KiB
在大小为 n * m 的棋盘中,有两种不同的棋子:黑色,红色。当两颗颜色不同的棋子同时满足以下两种情况时,将会产生魔法共鸣:
- 两颗异色棋子在同一行或者同一列
- 两颗异色棋子之间恰好只有一颗棋子
注:异色棋子之间可以有空位
由于棋盘上被施加了魔法禁制,棋盘上的部分格子变成问号。chessboard[i][j] 表示棋盘第 i 行 j 列的状态:
- 若为
.,表示当前格子确定为空 - 若为
B,表示当前格子确定为 黑棋 - 若为
R,表示当前格子确定为 红棋 - 若为
?,表示当前格子待定
现在,探险家小扣的任务是确定所有问号位置的状态(留空/放黑棋/放红棋),使最终的棋盘上,任意两颗棋子间都 无法 产生共鸣。请返回可以满足上述条件的放置方案数量。
示例1:
输入:
n = 3, m = 3, chessboard = ["..R","..B","?R?"]输出:
5
示例2:
输入:
n = 3, m = 3, chessboard = ["?R?","B?B","?R?"]输出:
105
提示:
n == chessboard.lengthm == chessboard[i].length1 <= n*m <= 30chessboard中仅包含"."、"B"、"R"、"?"

