Submission #1444718


Source Code Expand

#include <bits/stdc++.h>
#define REP(i,n) for(int i=0;i<(int)(n);i++)
#define ALL(x) (x).begin(),(x).end()
#define LL long long

using namespace std;






int main(){

    int N;
    cin>>N;
    LL D;
    cin>>D;

    long double pro[3][3]={{1.0/2 , 1.0/3, 1.0/6},
                                 {2.0/3, 1.0/3, 0},
                                 {5.0/6, 1.0/6, 0}};

    int num[3]={0};//(0,1,2) →(2,3,5) の出た回数…
    while(true){
        if(D%2!=0||D==0)break;
        num[0]++;
        D/=2;
    }
    while(true){
        if(D%3!=0||D==0)break;
        num[1]++;
        D/=3;
    }
    while(true){
        if(D%5!=0||D==0)break;
        num[2]++;
        D/=5;
    }

    if(D!=1){
        cout<<0<<endl;
    }else{
        long double dp[3][N+1][201];
        fill(dp[0][0],dp[3][0],0);
        dp[0][0][0]=1;
        dp[1][0][0]=1;
        dp[2][0][0]=1;

        REP(k,3) {
            REP(i, N) {
                REP(j,201){
                    if(j==0)dp[k][i+1][j]=dp[k][i][j];
                    else if(j==1)dp[k][i+1][j]=dp[k][i][j]+(-dp[k][i][j]+dp[k][i][j-1])*(pro[k][1]+pro[k][2]);
                    else dp[k][i+1][j]=dp[k][i][j]+(-dp[k][i][j]+dp[k][i][j-1])*(pro[k][1]+pro[k][2])+(-dp[k][i][j-1]+dp[k][i][j-2])*pro[k][2];
                }
            }
        }

        if(num[0]+num[1]+num[2]>N){
            cout<<0<<endl;
        }else{
            cout<<fixed<<setprecision(10)<<dp[0][N][num[0]]*dp[1][N][num[1]]*dp[2][N][num[2]]<<endl;
        }

    }

    return 0;
}

Submission Info

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

Judge Result

Set Name All
Score / Max Score 0 / 4
Status
AC × 10
WA × 3
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 1 ms 512 KB
01 WA 2 ms 1024 KB
02 AC 2 ms 1024 KB
03 WA 1 ms 640 KB
04 WA 1 ms 640 KB
05 AC 2 ms 1152 KB
06 AC 2 ms 1024 KB
07 AC 2 ms 1024 KB
08 AC 1 ms 384 KB
09 AC 2 ms 1024 KB
10 AC 1 ms 256 KB
90 AC 1 ms 256 KB
91 AC 1 ms 256 KB