結果
問題 | No.242 ビンゴゲーム |
ユーザー | btk |
提出日時 | 2015-07-10 23:56:48 |
言語 | C++11 (gcc 11.4.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,896 bytes |
コンパイル時間 | 740 ms |
コンパイル使用メモリ | 90,580 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-08 02:23:44 |
合計ジャッジ時間 | 1,066 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | WA | - |
testcase_02 | AC | 1 ms
6,940 KB |
testcase_03 | AC | 1 ms
6,940 KB |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | WA | - |
testcase_10 | AC | 2 ms
6,940 KB |
ソースコード
#include<iostream> #include<fstream> #include<sstream> #include<string> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> #include<stack> #include<queue> #include<set> #include<map> #include<vector> #include<list> #include<algorithm> #include<utility> #include<complex> #include<functional> #include<iomanip> using namespace std; /* const int bingo[] = { 32505856, 1015808, 31744, 992, 31, 17318416, 8659208, 4329604, 2164802, 1082401, 17043521, 1118480 }; int ans[30]; int bns[30]; int main(void){ ofstream cout("out.txt"); for (int i = 0; i < (1<<25); i++){ int cnt = 0; for (int j = 0; j < 30; j++){ if ((1 << j)&i)cnt++; } int res = 0; for (int j = 0; j < 12; j++){ if ((i&bingo[j]) == bingo[j])res++; } bns[cnt]++; ans[cnt] += res; } for (int i = 0; i < 30; i++){ cout << ans[i] <<"/(double)" <<bns[i] << "," << endl; } cout.close(); return(0); } */ #define double long double double umekomi[] = { 0 / (double)1, 0 / (double)25, 0 / (double)300, 0 / (double)2300, 0 / (double)12650, 12 / (double)53130, 240 / (double)177100, 2280 / (double)480700, 13680 / (double)1081575, 58140 / (double)2042975, 186048 / (double)3268760, 465120 / (double)4457400, 930240 / (double)5200300, 1511640 / (double)5200300, 2015520 / (double)4457400, 2217072 / (double)3268760, 2015520 / (double)2042975, 1511640 / (double)1081575, 930240 / (double)480700, 465120 / (double)177100, 186048 / (double)53130, 58140 / (double)12650, 13680 / (double)2300, 2280 / (double)300, 240 / (double)25, 12 / (double)1 }; int main(){ cout << fixed; int N; cin >> N; double res=0; double all=0; for (int i = 0; i <= min(N,25); i++)if(i>=25-(99-N)){ double p = 1; for (int j = 0; j < i; j++){ p *= N - j; p /= (j + 1); } //cout << p << endl; all += p; res += p*umekomi[i]; } //cout << all << endl; cout << res / all << endl; }