A2988 | 单人纸牌
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
单人纸牌游戏,共 $36$ 张牌分成 $9$ 叠,每叠 $4$ 张牌面向上。每次,游戏者可以从某两个不同的牌堆最顶上取出两张牌面相同的牌(如黑桃 $10$ 和梅花 $10$)并且一起拿走。如果最后所有纸牌都被取走,则游戏者就赢了,否则游戏者就输了。
George 很热衷于玩这个游戏,但是一旦有时有多种选择的方法,George 就不知道取哪一种好了,George 会从中随机地选择一种走,例如:顶上的 $9$ 张牌为 $\tt KS,\tt KH,\tt KD,\tt 9H,\tt 8S,\tt 8D,\tt 7C,\tt 7D,\tt 6H$,显然有 $5$ 种取法:$\tt (KS,KH),(KS,KD),(KH,KD),(8S,8D),(7C,7D)$,当然 George 取到每一种取法的概率都是 $1/5$。
有一次,George 的朋友 Andrew 告诉他,这样做是很愚蠢的,不过 George 不相信,他认为如此玩最后成功的概率是非常大的。请写一个程序帮助 George 证明他的结论:计算按照他的策略,最后胜利的概率。
George 很热衷于玩这个游戏,但是一旦有时有多种选择的方法,George 就不知道取哪一种好了,George 会从中随机地选择一种走,例如:顶上的 $9$ 张牌为 $\tt KS,\tt KH,\tt KD,\tt 9H,\tt 8S,\tt 8D,\tt 7C,\tt 7D,\tt 6H$,显然有 $5$ 种取法:$\tt (KS,KH),(KS,KD),(KH,KD),(8S,8D),(7C,7D)$,当然 George 取到每一种取法的概率都是 $1/5$。
有一次,George 的朋友 Andrew 告诉他,这样做是很愚蠢的,不过 George 不相信,他认为如此玩最后成功的概率是非常大的。请写一个程序帮助 George 证明他的结论:计算按照他的策略,最后胜利的概率。
输入格式
输入共 $9$ 行,每行 $4$ 组用空格分开的字串,每个字串两个字符,分别表示牌面和花色,按照从堆底到堆顶的顺序给出。
输出格式
一行,最后胜利的概率,精确到小数点后 $6$ 位。
输入输出样例
输入 #1
AS 9S 6C KS JC QH AC KH 7S QD JD KD QS TS JS 9H 6D TD AD 8S QC TH KC 8D 8C 9D TC 7C 9C 7H JH 7D 8H 6S AH 6H
输出 #1
0.589314
一行,最后胜利的概率,精确到小数点后 $6$ 位。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?