QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#54971#2964. Loot ChestSa3tElSefr#AC ✓3ms3932kbC++1.1kb2022-10-11 19:36:242022-10-11 19:36:26

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-11 19:36:26]
  • 评测
  • 测评结果:AC
  • 用时:3ms
  • 内存:3932kb
  • [2022-10-11 19:36:24]
  • 提交

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;
}







Details

Tip: Click on the bar to expand more detailed information

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'