Submission #3014647


Source Code Expand

#include <iostream>
#include <iomanip>

using ll = long long;
using namespace std;
double dp[3][101][201];

int main() {
    int n;
    int l[3] = {2,3,5};
    int ld[3] = {};
    ll d;
    cin >> n >> d;
    for (int i = 0; i < 3; ++i) {
        while (d % l[i] == 0){
            d /= l[i];
            ld[i]++;
        }
    }
    if(d != 1){
        cout << setprecision(12) << 0.0 << "\n";
    }
    fill_n(&dp[0][0][0], 60903, 0.0);

    for (int i = 0; i < 3; ++i) {
        dp[i][0][0] = 1.0;
        for (int j = 1; j <= n; ++j) {
            for(int k = 200; k >= 0; k--){
                if (i == 0){
                    dp[i][j][k]=
                            dp[i][j-1][k]/2 +
                            (k < 1 ? 0 : dp[i][j-1][k-1]/3) +
                            (k < 2 ? 0 : dp[i][j-1][k-2]/6);
                }else if (i == 1) {
                    dp[i][j][k] =
                            dp[i][j-1][k]*2/3+
                            (k < 1 ? 0 :dp[i][j-1][k-1]/ 3);
                }else {
                    dp[i][j][k] =
                            dp[i][j-1][k]*5/6+
                            dp[i][j-1][k]/6;
                }
            }
        }
    }
    double ans = 1.0;
    for (int i = 0; i < 3; ++i) {
        double w = 0;
        for (int j = ld[i]; j < 202; ++j) {
            w += dp[i][n][j];
        }
        ans *= w;
    }
    cout << setprecision(14) << ans << "\n";
    return 0;
}

Submission Info

Submission Time
Task D - サイコロ
User firiexp
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1493 Byte
Status WA
Exec Time 2 ms
Memory 768 KB

Judge Result

Set Name All
Score / Max Score 0 / 4
Status
AC × 5
WA × 8
Set Name Test Cases
All 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 90, 91
Case Name Status Exec Time Memory
00 AC 2 ms 768 KB
01 WA 2 ms 768 KB
02 WA 2 ms 768 KB
03 WA 2 ms 768 KB
04 WA 1 ms 768 KB
05 WA 2 ms 768 KB
06 WA 2 ms 768 KB
07 AC 2 ms 768 KB
08 AC 1 ms 768 KB
09 WA 2 ms 768 KB
10 WA 2 ms 768 KB
90 AC 1 ms 768 KB
91 AC 1 ms 768 KB