什么是公牛与母牛?
公牛与母牛用数字代替彩色钉子来玩破解密码。出题者写下一个由四个不同数字(0 到 9)组成的秘密数,0 也可以排在首位,所以 0371 是有效的秘密数。破解者用四个不同数字组成的数来回答,每次都会得知这次猜测得了几头公牛、几头母牛。
公牛是数字正确且位置正确,相当于彩色游戏中的黑钉。母牛是秘密数中有这个数字、但位置不同,相当于白钉。秘密数为 4271、猜测为 1234 时,2 是公牛,1 和 4 是母牛:一公牛两母牛。四头公牛即破解成功。由于数字不重复,每头公牛和母牛都恰好对应秘密数中的一个数字,但你仍然得推断出是哪一个。
可能的秘密数有 5,040 个,几乎是标准玩法的四倍,而且要判断取舍的是十个数字而不是六种颜色,所以开头几次猜得好坏更加关键。
规则变化
| 规则 | 标准破解密码 | 公牛与母牛 |
|---|---|---|
| 符号 | 标准破解密码六种颜色的钉子。 | 公牛与母牛0 到 9 十个数字。秘密数或猜测都可以以 0 开头。 |
| 重复的符号 | 标准破解密码同一种颜色可以出现不止一次,密码和每次猜测中都可以。 | 公牛与母牛秘密数和每次猜测中的数字都互不相同。 |
| 反馈 | 标准破解密码每个颜色正确且位置正确的给一枚黑钉,每个颜色正确但位置错误的给一枚白钉。 | 公牛与母牛每个数字正确且位置正确的算一头公牛,每个数字正确但位置错误的算一头母牛,计数方式和钉子相同。 |
| 密码长度 | 标准破解密码4 枚钉子,1,296 种可能的密码。 | 公牛与母牛4 个数字,5,040 种可能的秘密数。密码长度选项还提供 3、5 或 6 个数字。 |
| 其他选项 | 标准破解密码10 次猜测,六种颜色,允许重复颜色,不使用空位。 | 公牛与母牛6、8、10 或 12 次的猜测上限仍然适用。颜色数量、不重复和空位属于彩色玩法,这里不提供。 |
历史
公牛与母牛(也叫 Cows and Bulls 或 Pigs and Bulls)是一种纸笔游戏,比彩钉棋盘游戏更早,可能有一百年甚至更长的历史。Mordecai Meirowitz 于 1970 年发明的彩钉游戏就是以它为基础的。
它也是最早被写成电脑程序的游戏之一。Frank King 在 1970 年夏天之前的某个时候,在剑桥大学计算机实验室的 Titan 计算机上写了一个版本;一个名为 MOO 的版本于 1972 年被移植到麻省理工学院的 Multics 系统上,并在贝尔实验室为早期的 Unix 重写。到 1971 年,一个 BASIC 版本的 MOO 已经通过 DECUS(计算机制造商 DEC 的用户协会)的程序库流传。
用四个数字时,每个秘密数都能在七次猜测之内找出,而最佳玩法平均需要大约 5.21 次猜测。