Submission #485601
Source Code Expand
#include <iostream>
#include <cstdio>
using namespace std;
double dp[101][65][45][35];
int main(){
int N;
unsigned long long int D;
cin >> N >> D;
int two,thr,fiv;
for(two=0;D%2==0;D/=2)
two++;
for(thr=0;D%3==0;D/=3)
thr++;
for(fiv=0;D%5==0;D/=5)
fiv++;
if(D!=1)
cout << 0 << endl;
else{
for(int l=0;l<=N;l++)
for(int i=0;i<=two;i++)
for(int j=0;j<=thr;j++)
for(int k=0;k<=fiv;k++)
dp[l][i][j][k]=0;
dp[0][0][0][0]=1;
for(int i=0;i<N;i++)
for(int j=0;j<=two;j++)
for(int k=0;k<=thr;k++)
for(int l=0;l<=fiv;l++){
dp[i+1][j][k][l]+=dp[i][j][k][l]/6;
if(j+1<=two)
dp[i+1][j+1][k][l]+=dp[i][j][k][l]/6;
else
dp[i+1][j][k][l]+=dp[i][j][k][l]/6;
if(k+1<=thr)
dp[i+1][j][k+1][l]+=dp[i][j][k][l]/6;
else
dp[i+1][j][k][l]+=dp[i][j][k][l]/6;
if(j+2<=two)
dp[i+1][j+2][k][l]+=dp[i][j][k][l]/6;
else if(j+1<=two)
dp[i+1][j+1][k][l]+=dp[i][j][k][l]/6;
else
dp[i+1][j][k][l]+=dp[i][j][k][l]/6;
if(l+1<=fiv)
dp[i+1][j][k][l+1]+=dp[i][j][k][l]/6;
else
dp[i+1][j][k][l]+=dp[i][j][k][l]/6;
if(j+1<=two && k+1<=thr)
dp[i+1][j+1][k+1][l]+=dp[i][j][k][l]/6;
else if(j+1<=two)
dp[i+1][j+1][k][l]+=dp[i][j][k][l]/6;
else if(k+1<=thr)
dp[i+1][j][k+1][l]+=dp[i][j][k][l]/6;
else
dp[i+1][j][k][l]+=dp[i][j][k][l]/6;
}
printf("%.10f\n",dp[N][two][thr][fiv]);
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - サイコロ |
| User | base64go |
| Language | C++ (G++ 4.6.4) |
| Score | 4 |
| Code Size | 1549 Byte |
| Status | AC |
| Exec Time | 58 ms |
| Memory | 17052 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 4 / 4 | ||
| Status |
|
| 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 | 31 ms | 928 KiB |
| 01 | AC | 38 ms | 5408 KiB |
| 02 | AC | 28 ms | 3108 KiB |
| 03 | AC | 28 ms | 2592 KiB |
| 04 | AC | 30 ms | 3612 KiB |
| 05 | AC | 44 ms | 8352 KiB |
| 06 | AC | 56 ms | 17052 KiB |
| 07 | AC | 58 ms | 16804 KiB |
| 08 | AC | 30 ms | 4384 KiB |
| 09 | AC | 43 ms | 12576 KiB |
| 10 | AC | 24 ms | 672 KiB |
| 90 | AC | 23 ms | 924 KiB |
| 91 | AC | 24 ms | 800 KiB |