結果
問題 |
No.162 8020運動
|
ユーザー |
|
提出日時 | 2015-03-06 00:30:58 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 849 bytes |
コンパイル時間 | 432 ms |
コンパイル使用メモリ | 55,224 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-24 09:49:29 |
合計ジャッジ時間 | 1,284 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 12 WA * 14 |
ソースコード
#include <iostream> #define REP(i,a,b) for(int i = (a); i < (b); i++) #define rep(i,a) REP(i,0,a) using namespace std; int A; double P0,P1,P2,U[20][14]; int main(void){ cin >> A; cin >> P0 >> P1 >> P2; P0 /= 100.0, P1 /= 100.0, P2 /= 100.0; P0 = 1.0-P0, P1 = 1.0-P1, P2 = 1.0-P2; rep(i,14) U[0][i] = 1.0; REP(i,1,80-A+1) { U[i][ 0] = (P1*U[i-1][ 1] + P0*(1.0-U[i-1][ 1])) * U[i-1] [0]; U[i][13] = (P1*U[i-1][12] + P0*(1.0-U[i-1][12])) * U[i-1][13]; REP(j, 1, 13) { U[i][j] = (P2 * U[i-1][j-1]*U[i-1][j+1] + P1 * (U[i-1][j-1]*(1.0-U[i-1][j+1]) + (1.0-U[i-1][j-1])*U[i-1][j+1]) + P0 * (1.0-U[i-1][j-1])*(1.0-U[i-1][j+1])) * U[i-1][j]; } } double ans = 0.0; rep(i,14) ans += 2*U[80-A][i]; printf("%.10f",ans); }