Submission #6331967


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
double dp[110][80][50][30];
int main(){
   ll n,d;
   cin>>n>>d;
   int p2=0,p3=0,p5=0;
   bool flag=true;
  while(flag){
      flag=false;
      if(d%2==0){d/=2;p2++;flag=true;}
      if(d%3==0){d/=3;p3++;flag=true;}
      if(d%5==0){d/=5;p5++;flag=true;}
  }
    if(d!=1){printf("%.10lf\n",0);return 0;}
  memset(dp,0.0,sizeof(dp));
  dp[0][0][0][0]=1.0;
  for(int i=0;i<n;i++){
  for(int dp2=0;dp2<=p2;dp2++)for(int dp3=0;dp3<=p3;dp3++)for(int dp5=0;dp5<=p5;dp5++){
      for(int j=1;j<=6;j++){
    int np2=min(p2,(j==2||j==6?dp2+1:(j==4?dp2+2:dp2)));
    int np3=min(p3,(j%3==0?dp3+1:dp3));
    int np5=min(p5,(j==5?dp5+1:dp5));
    dp[i+1][np2][np3][np5]+=dp[i][dp2][dp3][dp5]/6.0;
      }
    dp[i][dp2][dp3][dp5]=0;
  }
  }
printf("%.10lf\n",dp[n][p2][p3][p5]);
}

Submission Info

Submission Time
Task D - サイコロ
User suzuken_w
Language C++14 (GCC 5.4.1)
Score 4
Code Size 870 Byte
Status AC
Exec Time 31 ms
Memory 103424 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:16:33: warning: format ‘%lf’ expects argument of type ‘double’, but argument 2 has type ‘int’ [-Wformat=]
     if(d!=1){printf("%.10lf\n",0);return 0;}
                                 ^

Judge Result

Set Name All
Score / Max Score 4 / 4
Status
AC × 13
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 27 ms 103424 KB
01 AC 29 ms 103424 KB
02 AC 28 ms 103424 KB
03 AC 28 ms 103424 KB
04 AC 27 ms 103424 KB
05 AC 30 ms 103424 KB
06 AC 31 ms 103424 KB
07 AC 30 ms 103424 KB
08 AC 28 ms 103424 KB
09 AC 27 ms 103424 KB
10 AC 1 ms 256 KB
90 AC 27 ms 103424 KB
91 AC 27 ms 103424 KB