p2002撲克牌
admin生日那天,rainbow來找admin玩撲克牌……
玩著玩著rainbow覺得太沒意思了,於是決定給admin乙個考驗~~~
rainbow把一副撲克牌(54張)隨機洗開,倒扣著放成一摞。然後admin從上往下依次翻開每張牌,每翻開一張黑桃、紅桃、梅花或者方塊,就把它放到對應花色的堆裡去。
rainbow想問問admin,得到a張黑桃、b張紅桃、c張梅花、d張方塊需要翻開的牌的張數的期望值e是多少?
特殊地,如果翻開的牌是大王或者小王,admin將會把它作為某種花色的牌放入對應堆中,使得放入之後e的值盡可能小。
由於admin和rainbow還在玩撲克,所以這個程式就交給你來寫了~
輸入僅由一行,包含四個用空格隔開的整數,a,b,c,d。
輸出需要翻開的牌數的期望值e,四捨五入保留3位小數。
如果不可能達到輸入的狀態,輸出-1.000。
樣例輸入11 2 3 4
樣例輸入2
15 15 15 15
樣例輸出1對於100%的資料,0<=a,b,c,d<=1516.393
樣例輸出2
-1.000
lydrainbowcat - "admin生日"杯noip模擬賽 第三題
————————————————————我是分割線————————————————————————
好題。數學期望dp
用記憶化搜尋實現。
陣列竟然六維,可怕......
1 #include 2 #include 3 #include 4 #include5 #include 6 #include 7tyvj 2002using
namespace
std;
8double dp[15][15][15][15][5][5];9
bool vis[15][15][15][15][5][5
];10
int t[4
];11
double dfs(int a,int b,int c,int d,int e,int
f)12
22 md=100; if (f==4)
23 vis[a][b][c][d][e][f]=true;24
return dp[a][b][c][d][e][f]=f;25}
26int
main()
27
TYVJ 2002 撲克牌 題解
p2002撲克牌 admin生日那天,rainbow來找admin玩撲克牌 玩著玩著rainbow覺得太沒意思了,於是決定給admin乙個考驗 rainbow把一副撲克牌 54張 隨機洗開,倒扣著放成一摞。然後admin從上往下依次翻開每張牌,每翻開一張黑桃 紅桃 梅花或者方塊,就把它放到對應花色的...
撲克牌排序 趣味撲克牌
一提到撲克牌,我們就想到神秘的魔術表演,撲克牌上有很多形狀和數字,裡面蘊藏了很多數學知識哦!瞧 subway的小朋友們正在進行趣味撲克牌的遊戲呢!好多撲克牌啊!撲克牌中間怎麼是空的呢?哇,還有這麼小的撲克牌呢!一看到teacher手中的撲克牌,小傢伙們乙個個的都興奮起來,迫不及待想要分享自己的見解呢...
生成撲克牌
class card private int id public int rank 大小 public cardsuit suit 花色 public override string tostring public static ienumerablegetcards54 隨機發54張牌 publi...