CF1543C.Need for Pink Slips
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
After defeating a Blacklist Rival, you get a chance to draw 1 reward slip out of x hidden valid slips. Initially, x=3 and these hidden valid slips are Cash Slip, Impound Strike Release Marker and Pink Slip of Rival's Car. Initially, the probability of drawing these in a random guess are c , m , and p , respectively. There is also a volatility factor v . You can play any number of Rival Races as long as you don't draw a Pink Slip. Assume that you win each race and get a chance to draw a reward slip. In each draw, you draw one of the x valid items with their respective probabilities. Suppose you draw a particular item and its probability of drawing before the draw was a . Then,
- If the item was a Pink Slip, the quest is over, and you will not play any more races.
- Otherwise,
- If a≤v , the probability of the item drawn becomes 0 and the item is no longer a valid item for all the further draws, reducing x by 1 . Moreover, the reduced probability a is distributed equally among the other remaining valid items.
- If a>v , the probability of the item drawn reduces by v and the reduced probability is distributed equally among the other valid items.
For example,
- If (c,m,p)=(0.2,0.1,0.7) and v=0.1 , after drawing Cash, the new probabilities will be (0.1,0.15,0.75) .
- If (c,m,p)=(0.1,0.2,0.7) and v=0.2 , after drawing Cash, the new probabilities will be (Invalid,0.25,0.75) .
- If (c,m,p)=(0.2,Invalid,0.8) and v=0.1 , after drawing Cash, the new probabilities will be (0.1,Invalid,0.9) .
- If (c,m,p)=(0.1,Invalid,0.9) and v=0.2 , after drawing Cash, the new probabilities will be (Invalid,Invalid,1.0) .
You need the cars of Rivals. So, you need to find the expected number of races that you must play in order to draw a pink slip.
输入格式
The first line of input contains a single integer t ( 1≤t≤10 ) — the number of test cases.
The first and the only line of each test case contains four real numbers c , m , p and v ( 0<c,m,p<1 , c+m+p=1 , 0.1≤v≤0.9 ).
Additionally, it is guaranteed that each of c , m , p and v have at most 4 decimal places.
输出格式
For each test case, output a single line containing a single real number — the expected number of races that you must play in order to draw a Pink Slip.
Your answer is considered correct if its absolute or relative error does not exceed 10−6 .
Formally, let your answer be a , and the jury's answer be b . Your answer is accepted if and only if max(1,∣b∣)∣a−b∣≤10−6 .
输入输出样例
输入#1
4 0.2 0.2 0.6 0.2 0.4 0.2 0.4 0.8 0.4998 0.4998 0.0004 0.1666 0.3125 0.6561 0.0314 0.2048
输出#1
1.532000000000 1.860000000000 5.005050776521 4.260163673896
说明/提示
For the first test case, the possible drawing sequences are:
- P with a probability of 0.6 ;
- CP with a probability of 0.2⋅0.7=0.14 ;
- CMP with a probability of 0.2⋅0.3⋅0.9=0.054 ;
- CMMP with a probability of 0.2⋅0.3⋅0.1⋅1=0.006 ;
- MP with a probability of 0.2⋅0.7=0.14 ;
- MCP with a probability of 0.2⋅0.3⋅0.9=0.054 ;
- MCCP with a probability of 0.2⋅0.3⋅0.1⋅1=0.006 .
So, the expected number of races is equal to 1⋅0.6+2⋅0.14+3⋅0.054+4⋅0.006+2⋅0.14+3⋅0.054+4⋅0.006=1.532 .For the second test case, the possible drawing sequences are:
- P with a probability of 0.4 ;
- CP with a probability of 0.4⋅0.6=0.24 ;
- CMP with a probability of 0.4⋅0.4⋅1=0.16 ;
- MP with a probability of 0.2⋅0.5=0.1 ;
- MCP with a probability of 0.2⋅0.5⋅1=0.1 .
So, the expected number of races is equal to 1⋅0.4+2⋅0.24+3⋅0.16+2⋅0.1+3⋅0.1=1.86 .