題目:
不用在意每個人的編號,只需看他們相對於莊家的位置即可;
所以設計狀態f[i][j]為還剩i人時j人獲勝的概率,並且預設莊家是1號;
這樣就可以轉移了,每次被淘汰的人是tmp,淘汰後所有人的編號都-=tmp,對應到下一層的狀態。
**如下:
#include#include#include
using
namespace
std;
int n,m,a[55
];double f[55][55
];int
main()
for(int i=1;i)
printf(
"%.2lf%%
",f[n][i]*100
); printf(
"%.2lf%%
",f[n][n]*100
);
return0;
}
卡牌遊戲(bzoj 3191)
n個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到n編號。首先第一回合是玩家1作為莊家。每個回合莊家都會隨機 即按相等的概率 從卡牌堆裡選擇一張卡片,假設卡片上的數字為x,則莊家首先把卡片上的數字向所有玩家展示,然後按順時針從莊家位置數第x個人將被處決即退出遊戲。然後卡片將會被放回卡牌堆裡並重...
JLOI 2013 卡牌遊戲 bzoj3191
題目描述 n個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到n編號。首先第一回合是玩家1作為莊家。每個回合莊家都會隨機 即按相等的概率 從卡牌堆裡選擇一張卡片,假設卡片上的數字為x,則莊家首先把卡片上的數字向所有玩家展示,然後按順時針從莊家位置數第x個人將被處決即退出遊戲。然後卡片將會被放回卡...
JLOI 2013 卡牌遊戲 bzoj3191
題目描述 n個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到n編號。首先第一回合是玩家1作為莊家。每個回合莊家都會隨機 即按相等的概率 從卡牌堆裡選擇一張卡片,假設卡片上的數字為x,則莊家首先把卡片上的數字向所有玩家展示,然後按順時針從莊家位置數第x個人將被處決即退出遊戲。然後卡片將會被放回卡...