题目名称 1613. 黑杰克
输入输出 jack0.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 12
题目来源 GravatarOI永别 于2014-05-01加入
开放分组 全部用户
提交状态
分类标签
随机化 概率与期望
分享题解
通过:12, 提交:22, 通过率:54.55%
Gravatarjhs 100 0.000 s 0.00 MiB C++
GravatarHzoi_joker 100 0.002 s 0.31 MiB C++
Gravatarjhs 100 0.002 s 0.31 MiB C++
Gravatar, 100 0.003 s 0.17 MiB Pascal
GravatarSky_miner 100 0.003 s 0.29 MiB C++
Gravatarwmez 100 0.003 s 0.31 MiB C++
Gravatar葳棠殇 100 0.003 s 0.31 MiB C++
Gravatar하루Kiev 100 0.003 s 0.31 MiB C++
GravatarOI永别 100 0.003 s 0.31 MiB C++
Gravatar‎MistyEye 100 0.003 s 0.31 MiB C++
关于 黑杰克 的近10条评论(全部评论)
暴力推演~~
注意是1.00000不是1
是0.00000不是0
Gravatar하루Kiev
2017-07-26 15:51 3楼
最近真是越来越逗了。。。。。。
Gravatar,
2014-05-03 21:20 2楼
随机化是什么???我貌似加的是概率啊??
GravatarOI永别
2014-05-01 19:29 1楼

1613. 黑杰克

★★★   输入文件:jack0.in   输出文件:jack0.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】


BlackJack(又名21点)起源于法国,是一种简单易懂的双人赌博游戏,于19世纪的欧美风靡一时,现已流传到了世界各地。

BlackJack使用若干副去掉大小王的扑克牌来完成游戏,每副牌中A~K各四张。在游戏中,A~K分别被标记为A,2,3,4,5,6,7,8,9,T,J,Q,K。其中,2~9这8张牌所代表的点数分别为2~9本身;T,J,Q,K所代表的点数都为10;A的点数由持有这张A的玩家在清算时自己任意规定为1或11。显然,持有这张A的玩家一定会按照对自己有利的原则来规定它代表的数值。特别地,如果一方玩家持有两张A,这两张A所代表的数值不一定相同。

根据BlackJack的规则,两个人每人等概率随机抽取两张牌来比较手牌点数和。如果两方的手牌点数和都大于21点,判为平局;如果只有一方手牌点数和大于21点,判另一方赢;如果双方手牌点数和都不大于21点,判点数较大的一方赢,若手牌点数相同,判为平局。

你来到了Las Vegas的赌场,准备和一位庄家小赌一场,你知道这次赌局使用了n副去掉了大小王的扑克牌。你和庄家各自随机抽取了两张手牌,其中庄家有一张手牌是“明牌”——即你可以看到你自己的两张手牌和庄家的明牌,庄家只能看到他自己的两张手牌。现在,到了你下注的时候了——显然,你需要计算一下自己能赢庄家的概率。


【输入格式】


第一行一个整数n,表示赌局使用了多少副去掉了大小王的扑克牌。

接下来一行用空格隔开的三个字符,分别代表庄家的“明牌”和你自己的两张手牌。


【输出格式】

一行一个实数,表示你能够赢庄家的概率,保留五位小数。

【样例输入1】

1

T A J


样例2:


4

2 3 4


【样例输出1】

0.93878

样例2:0.21951

【提示】


对于第1组样例,庄家的另一张手牌有52-3=49种可能性。根据对自己有利的原则,你将你手中的A规定为11点,你的手牌点数和是21。显然只有庄家的另一张手牌是A的时候,你和庄家才会打成平手,否则你一定能赢。而庄家的另一张手牌是A只有3种可能性,所以,你赢庄家的概率=(49-3)/49= 0.93878.

对于第2组样例,你的手牌点数和是7,庄家的另一张手牌是4或者比4小(除了A以外,因为如果庄家有A一定会把A规定为11点)的时候,你才能赢庄家。而庄家的另一张手牌有52*4-3=205种可能性,是2或3或4的情况有3*4*4-3 =45种可能性。因此,你赢庄家的概率=45/205=0.21951.


对于30%的数据,1<=n<=20。

对于100%的数据,1<=n<=1000,输入的三个字符都在A,2,3,4,5,6,7,8,9,T,J,Q,K这13个字符的范围内。



【来源】

Freda Rodriguez Shi提供题目