位置猜谜中,一种颜色出现两次时不能把它无限次匹配。先数颜色与位置都正确的格子,再从剩余颜色数量中配对,才能区分完全命中与颜色正确但位置错误。
以下是为了练习规则阅读而设计的独立场景。所有输入在这里完整列出,可以先自己记录结果,再对照后面的计算。它不声称对应某款现成游戏;如果实际说明中的边界或处理顺序不同,应以该说明重新演算。
条件与输入
这是自定义的颜色逻辑题,只研究位置与数量,不引入得分规则。答案和尝试都长五格,可重复颜色;一枚答案颜色最多被使用一次,同位置命中后不能再次算进错位匹配。
完全命中逐位置判断;全部颜色可配对数为每种颜色在两边数量的较小值之和;错位数再扣完全命中数。
本例公开答案DDDAC以便复算,A至D表示四种颜色 尝试['DDBDB', 'CCBCC', 'BBCCC', 'DBCDB', 'DBBDD', 'CDADB', 'ADBAA', 'BCAAD', 'DDDAC']
逐项复盘
尝试DDBDB:位置与颜色均对2格,两边颜色可配对总数3,扣除完全命中后错位颜色1格。
尝试CCBCC:位置与颜色均对1格,两边颜色可配对总数1,扣除完全命中后错位颜色0格。
尝试BBCCC:位置与颜色均对1格,两边颜色可配对总数1,扣除完全命中后错位颜色0格。
尝试DBCDB:位置与颜色均对1格,两边颜色可配对总数3,扣除完全命中后错位颜色2格。
尝试DBBDD:位置与颜色均对1格,两边颜色可配对总数3,扣除完全命中后错位颜色2格。
尝试CDADB:位置与颜色均对1格,两边颜色可配对总数4,扣除完全命中后错位颜色3格。
尝试ADBAA:位置与颜色均对2格,两边颜色可配对总数2,扣除完全命中后错位颜色0格。
尝试BCAAD:位置与颜色均对1格,两边颜色可配对总数3,扣除完全命中后错位颜色2格。
尝试DDDAC:位置与颜色均对5格,两边颜色可配对总数5,扣除完全命中后错位颜色0格。
按尝试顺序的“完全命中、错位匹配”为[[2, 1], [1, 0], [1, 0], [1, 2], [1, 2], [1, 3], [2, 0], [1, 2], [5, 0]]。
如何自行核对
可先划掉完全命中的格子,再从左到右把每枚剩余尝试颜色与第一枚尚未使用的同色答案配对。两种匹配数之和不能超过五,也不能超过两边颜色数量的共同部分。
最后一条与答案完全相同,应得到五格完全命中和零格错位。对重复颜色尤其要做数量上限检查,避免把同一枚答案同时分给多枚尝试。
练习时保留原输入,只改一处条件,再观察哪些结果发生变化。若结果与预期不同,先查编号起点、边界是否包含以及前一步留下的状态。这样的记录能把“感觉不对”变成可复现的问题,也更方便向同伴说明自己的判断依据。
