問題描述:
n個人坐成一圈, 其中第k個人拿著乙個球。 每次每個人會以一定的概率向
左邊的人和右邊的人傳球。 當所有人都拿到過球之後, 最後乙個拿到球的人即為勝者。 求第n個人獲勝的概率。( 所有人按照編號逆時針坐成一圈)
輸入格式:
第一行乙個數t代表資料組數。
對於每組資料, 第一行兩個整數n, k如題意所述。
接下來每行乙個實數p代表該人將球傳給右邊的人的概率。
輸出格式:
對於每組資料, 一行乙個實數代表答案, 保留9位小數。
樣例輸入:
1 5 1
0.10
0.20
0.30
0.40
0.50
樣例輸出:
0.007692308
資料規模與約定:
對於20%的資料, n ≤ 3。
對於70%的資料, t, n ≤ 100。
對於100%的資料, t ≤ 10000,1 ≤ n ≤ 100。
#include
#include
using
namespace
std;
const
int maxn=110;
int t,n,k,pre[maxn],next[maxn];
long
double l[maxn],r[maxn];
void deal(int b)
long
double work()
if(k==n-1)
for(int i=2;ifor(int i=k+1;i1;i++)
deal(i);
deal(k);
return l[k]*r[1]+r[k]*l[n-1];
}int main()
printf("%0.9lf\n",(double)work());
}fclose(stdin);fclose(stdout);
return
0;}
傳球問題終極解決
原文引自 http blog.sina.com.cn s blog 4d4a4c6401000cy7.html 例 四人進行籃球傳接球練習,要求每人接球後再傳給別人。開始由甲發球,並作為第一次傳球,若第五次傳球後,球又回到甲手中,則共有多少種傳球方式 國2006一類 46 國2006二類 39 a....
幾何概率問題 相遇概率
假設小白與小仙晚上7點到8點之間都會前往某地看燈展,約定到的人等另外乙個人15分鐘方可離開,若他們在限時內到達,相遇的概率是多少?解析 這是乙個幾何概率問題。他們能見面的充要條件是時間差不超過15分鐘,即1 4小時。因為兩人沒有確切的時間,故樣本點由兩個數 甲乙兩人各自到達的時刻 組成。以7點鐘作為...
概率取樣問題
問題 程式輸入兩個整數m和n,其中m 顯然,演算法的執行時間為o n 2 基於集合的演算法 在乙個初始為空的集合裡面插入隨機整數,直到個數足夠,核心問題是如何實現集合s。我們可以考慮有序鍊錶 二叉樹等資料結構,但最直接的辦法是利用c 標準模板庫中的set容器。c stl規範要求每次插入操作都在o l...