Submission #5374978


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define REP(i,begin, n) for(int i=begin;i<n;i++)
typedef long long int lli;
typedef pair<int, int> P;

map<lli, lli> fac;

// dp[i][j][k][l]: i個目のサイコロを振った時点で2,3,5がそれぞれj,k,l個使われている確率
double dp[2][201][101][101];

int main() {
    int n;
    lli d;
    cin >> n >> d;

    while(d%2==0){
        d=d/2;
        fac[2]++;
    }
    while(d%3==0){
        d=d/3;
        fac[3]++;
    }
    while(d%5==0){
        d=d/5;
        fac[5]++;
    }
    if(d!=1){
        cout<<0<<endl;
        return 0;
    }

    dp[0][0][0][0] = 1.0;
    int cur = 0;
    int next = 1;
    REP(i, 0, n) {
        REP(j, 0, 199) {
            REP(k, 0, 100) {
                if (j+k > 2*n)
                    break;
                REP(l, 0, 100) {
                    if (j+k+l > 2*n)
                        break;
                    // 1
                    dp[next][j][k][l] += dp[cur][j][k][l] * 1 / 6.0;

                    // 2
                    dp[next][j+1][k][l] += dp[cur][j][k][l] * 1 / 6.0;

                    // 3
                    dp[next][j][k+1][l] += dp[cur][j][k][l] * 1 / 6.0;

                    // 4
                    dp[next][j+2][k][l] += dp[cur][j][k][l] * 1 / 6.0;

                    // 5
                    dp[next][j][k][l+1] += dp[cur][j][k][l] * 1 / 6.0;

                    // 6
                    dp[next][j+1][k+1][l] += dp[cur][j][k][l] * 1 / 6.0;
                }
            }
        }
        swap(cur, next);
    }

    double ans = 0;
    REP(j, fac[2], 201) {
        REP(k, fac[3], 101) {
            REP(l, fac[5], 101) {
                ans += dp[cur][j][k][l];
            }
        }
    }
    cout << ans << endl;
}

Submission Info

Submission Time
Task D - サイコロ
User longtime
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1840 Byte
Status WA
Exec Time 1278 ms
Memory 30976 KB

Judge Result

Set Name All
Score / Max Score 0 / 4
Status
AC × 4
WA × 9
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 32 ms 13696 KB
01 WA 981 ms 30976 KB
02 WA 728 ms 26880 KB
03 WA 47 ms 13952 KB
04 WA 43 ms 13824 KB
05 WA 1278 ms 30976 KB
06 WA 943 ms 30976 KB
07 WA 796 ms 28928 KB
08 AC 7 ms 9088 KB
09 WA 694 ms 26880 KB
10 AC 1 ms 256 KB
90 AC 4 ms 4352 KB
91 WA 4 ms 4352 KB