結果
問題 | No.463 魔法使いのすごろく🎲 |
ユーザー | tails |
提出日時 | 2016-12-14 01:06:05 |
言語 | C90 (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 307 ms / 2,000 ms |
コード長 | 481 bytes |
コンパイル時間 | 278 ms |
コンパイル使用メモリ | 21,120 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-30 06:16:23 |
合計ジャッジ時間 | 3,338 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
コンパイルメッセージ
main.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 3 | main(n,m,h,i,j,k){ | ^~~~ main.c: In function ‘main’: main.c:3:1: warning: type of ‘n’ defaults to ‘int’ [-Wimplicit-int] main.c:3:1: warning: type of ‘m’ defaults to ‘int’ [-Wimplicit-int] main.c:3:1: warning: type of ‘h’ defaults to ‘int’ [-Wimplicit-int] main.c:3:1: warning: type of ‘i’ defaults to ‘int’ [-Wimplicit-int] main.c:3:1: warning: type of ‘j’ defaults to ‘int’ [-Wimplicit-int] main.c:3:1: warning: type of ‘k’ defaults to ‘int’ [-Wimplicit-int] main.c:5:9: warning: implicit declaration of function ‘scanf’ [-Wimplicit-function-declaration] 5 | scanf("%d%d",&n,&m); | ^~~~~ main.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘scanf’ +++ |+#include <stdio.h> 1 | double c[110],e0[110],e1[110]; main.c:5:9: warning: incompatible implicit declaration of built-in function ‘scanf’ [-Wbuiltin-declaration-mismatch] 5 | scanf("%d%d",&n,&m); | ^~~~~ main.c:5:9: note: include ‘<stdio.h>’ or provide a declaration of ‘scanf’ main.c:31:9: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] 31 | printf("%.10f\n",e0[1]); | ^~~~~~ main.c:31:9: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’ main.c:31:9: warning: incompatible implicit declaration of built-in function ‘printf’ [-Wbuiltin-declaration-mismatch] main.c:31:9: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
ソースコード
double c[110],e0[110],e1[110]; main(n,m,h,i,j,k){ scanf("%d%d",&n,&m); for(i=2;i<n;++i){ scanf("%lf",&c[i]); } for(h=0;h<10000;++h){ for(i=n;--i;){ double e0i=0; double e1i=0; for(j=i+1;j<=i+m;++j){ k=j<n?j:n*2-j; e0i+=e0[k]+c[k]; e1i+=e1[k]+c[k]; } e0i/=m; e1i/=m; for(j=i+1;j<=i+m;++j){ k=j<n?j:n*2-j; if(e0i>e1[k]+c[k]){ e0i=e1[k]+c[k]; } } e0[i]=e0i; e1[i]=e1i; } } printf("%.10f\n",e0[1]); return 0; }