時間限制:
1000 ms | 記憶體限制:
65535 kb
描述 遊戲廳裡有一種很常見的遊戲機,裡面有很多根管子有規律地排成許多行。小球從最上面掉下去,碰到管子會等概率地往管子左邊或者右邊的空隙掉下去。不過在最靠邊的小球只會往一邊掉(如圖,灰色小球只可能掉到右邊空隙)。現在已知共
2 * n - 1
行管子,第i行有
ai個管子,如果
i是奇數,那麼
ai等於
m,如果
i是偶數,
ai等於
m - 1
。小球從第1行第
k個管子右邊掉下去,要求小球從最後一行各個出口掉出來的概率。
輸入
第一行是乙個整數t(1≤t≤50),表示有t組測試資料。
每組資料第一行有兩個整數n(1≤n≤100)和m(2≤m≤10),表示有2*n-1行管子,奇數行有m個管子,偶數行有m-1個管子。
第二行是乙個整數k(1≤k≤m-1),表示小球從第1行第k個管子右邊掉下去。
輸出輸出m-1個小數,第i個數表示小球從最後一行第i個出口出來的概率。
每個小數保留小數點後六位,小數與小數之間用乙個空格隔開。
樣例輸入
1樣例輸出3 32
0.375000 0.625000**
gdut校賽
上傳者
acm_李如兵
思路: 把彈球版看做乙個n*2的圖
0 1 2 3 4 5 6 7 8 9
0 1 * * *
2 1
3 * *
4 2 2
5 * * *
6
#include#include#include#include#includeusing namespace std;
double dp[205][25];
int main()
}else//奇數考慮邊界}}
double sum=0;
for(int i=2; i<=2*m-2; i+=2)
sum+=dp[2*n][i];
for(int i=2; i<=2*m-2; i+=2)
printf("%.6lf ",dp[2*n][i]/sum);
printf("\n");}}
matlaB模擬桌面屏保彈球
function billiards numberofballs call billiards number of balls e.g.billiards 10 if nargin 0 numberofballs 10 endclose all hold on drawflag 1 factor 8...
1103 分糖果 II(數學 模擬) M,S
我的解法 模擬整個分配糖果的過程 時間複雜度為o m ax c andi es,n o max sqrt,n o max cand ies n n是人數。class solution else times num people 分配的輪數 return getcandy 簡單優化的話,可以將for迴...
C 模擬WIN7水泡屏保 彈球模擬
用c gdi 來模擬 win7 的水泡屏保.需要解決以下三個問題 1.水泡與邊緣碰撞的模擬 2.水泡之間的碰撞模擬.3.建立水泡 ball 的類 1.水泡與邊緣碰撞的模擬其實很簡單.一開始.我還覺得還需要用 公式去計算.後來才發現.只在x,y 水泡的位置 在到邊緣時取下負值即可模擬.view cod...