Typical DP Contest

Submission #6351363

Source codeソースコード

#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;
      }
  }
  }


printf("%.10lf\n",dp[n][p2][p3][p5]);
}

Submission

Task問題 D - サイコロ
User nameユーザ名 suzuken_w
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 4
Source lengthソースコード長 845 Byte
File nameファイル名
Exec time実行時間 30 ms
Memory usageメモリ使用量 103424 KB

Compiler messageコンパイルメッセージ

./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;}
^

Test case

Set

Set name Score得点 / Max score Cases
All 4 / 4 00,01,02,03,04,05,06,07,08,09,10,90,91

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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 29 ms 103424 KB
06 AC 30 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