QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#54971 | #2964. Loot Chest | Sa3tElSefr# | AC ✓ | 3ms | 3932kb | C++ | 1.1kb | 2022-10-11 19:36:24 | 2022-10-11 19:36:26 |
Judging History
answer
#include <bits/stdc++.h>
#define ll long long
#define ld double
using namespace std;
// #define int ll
const int N = 2e5 + 5, mod = 998244353;
ld dp[105], winningProb, losingProb;
int dwinning, dlosing;
int vis[105];
ld solve(int prizeProb) {
if (prizeProb == 100) {
return 1 / winningProb;
}
if (vis[prizeProb] == 1) return dp[prizeProb];
vis[prizeProb] = 1;
ld op1, op2, op3;
// winning
{
op1 = winningProb * prizeProb / 100.0l;
op2 = winningProb * (100.0l - prizeProb) / 100.0l * (1 + solve(min(100, prizeProb + dwinning)));
}
// losing
{
op3 = losingProb * (1 + solve(min(100, prizeProb + dlosing)));
}
return dp[prizeProb] = op1 + op2 + op3;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
ld g;
cin >> dlosing >> dwinning >> g >> losingProb;
winningProb = (100.0l - losingProb) / 100.0l;
losingProb /= 100.0l;
ld daysToWin = solve(0);
cout << fixed << setprecision(10) << daysToWin * (100.0l / g);
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 2ms
memory: 3656kb
input:
1 100 50 0
output:
4.0000000000
result:
ok found '4.0000000', expected '4.0000000', error '0.0000000'
Test #2:
score: 0
Accepted
time: 3ms
memory: 3856kb
input:
50 50 100 25
output:
2.8333333333
result:
ok found '2.8333333', expected '2.8333333', error '0.0000000'
Test #3:
score: 0
Accepted
time: 2ms
memory: 3776kb
input:
1 100 10 0
output:
20.0000000000
result:
ok found '20.0000000', expected '20.0000000', error '0.0000000'
Test #4:
score: 0
Accepted
time: 3ms
memory: 3792kb
input:
2 3 10 80
output:
197.0057067200
result:
ok found '197.0057067', expected '197.0057067', error '0.0000000'
Test #5:
score: 0
Accepted
time: 2ms
memory: 3732kb
input:
1 1 100 0
output:
13.2099606302
result:
ok found '13.2099606', expected '13.2099606', error '0.0000000'
Test #6:
score: 0
Accepted
time: 1ms
memory: 3740kb
input:
1 100 100 0
output:
2.0000000000
result:
ok found '2.0000000', expected '2.0000000', error '0.0000000'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3784kb
input:
1 1 1 0
output:
1320.9960630216
result:
ok found '1320.9960630', expected '1320.9960630', error '0.0000000'
Test #8:
score: 0
Accepted
time: 2ms
memory: 3780kb
input:
1 2 1 99
output:
14648.6536175788
result:
ok found '14648.6536176', expected '14648.6536176', error '0.0000000'
Test #9:
score: 0
Accepted
time: 3ms
memory: 3708kb
input:
100 100 1 1
output:
201.0101010101
result:
ok found '201.0101010', expected '201.0101010', error '0.0000000'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3648kb
input:
1 3 1 49
output:
1326.8939535845
result:
ok found '1326.8939536', expected '1326.8939536', error '0.0000000'
Test #11:
score: 0
Accepted
time: 2ms
memory: 3932kb
input:
69 91 78 18
output:
3.0116823014
result:
ok found '3.0116823', expected '3.0116823', error '0.0000000'
Test #12:
score: 0
Accepted
time: 3ms
memory: 3856kb
input:
40 13 94 9
output:
4.3387976566
result:
ok found '4.3387977', expected '4.3387977', error '0.0000000'
Test #13:
score: 0
Accepted
time: 3ms
memory: 3712kb
input:
88 43 61 71
output:
7.7139131837
result:
ok found '7.7139132', expected '7.7139132', error '0.0000000'
Test #14:
score: 0
Accepted
time: 3ms
memory: 3772kb
input:
13 46 56 40
output:
6.7900497905
result:
ok found '6.7900498', expected '6.7900498', error '0.0000000'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3708kb
input:
79 82 27 70
output:
16.7938271605
result:
ok found '16.7938272', expected '16.7938272', error '0.0000000'
Test #16:
score: 0
Accepted
time: 3ms
memory: 3768kb
input:
62 57 67 33
output:
4.3373691245
result:
ok found '4.3373691', expected '4.3373691', error '0.0000000'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3788kb
input:
3 1 1 97
output:
4951.7562469227
result:
ok found '4951.7562469', expected '4951.7562469', error '0.0000000'
Test #18:
score: 0
Accepted
time: 3ms
memory: 3648kb
input:
1 2 54 50
output:
28.3239197602
result:
ok found '28.3239198', expected '28.3239198', error '0.0000000'
Test #19:
score: 0
Accepted
time: 2ms
memory: 3720kb
input:
2 3 6 1
output:
132.8312852692
result:
ok found '132.8312853', expected '132.8312853', error '0.0000000'
Test #20:
score: 0
Accepted
time: 1ms
memory: 3856kb
input:
2 3 34 2
output:
23.5899851154
result:
ok found '23.5899851', expected '23.5899851', error '0.0000000'
Test #21:
score: 0
Accepted
time: 3ms
memory: 3652kb
input:
66 63 52 38
output:
5.7144292804
result:
ok found '5.7144293', expected '5.7144293', error '0.0000000'
Test #22:
score: 0
Accepted
time: 2ms
memory: 3864kb
input:
62 46 75 27
output:
3.8529123916
result:
ok found '3.8529124', expected '3.8529124', error '0.0000000'
Test #23:
score: 0
Accepted
time: 2ms
memory: 3768kb
input:
65 18 37 17
output:
9.4908434032
result:
ok found '9.4908434', expected '9.4908434', error '0.0000000'
Test #24:
score: 0
Accepted
time: 2ms
memory: 3860kb
input:
97 13 80 32
output:
4.4304809781
result:
ok found '4.4304810', expected '4.4304810', error '0.0000000'