結果
| 問題 |
No.2158 X日後に全完するhibit君
|
| コンテスト | |
| ユーザー |
chro_96
|
| 提出日時 | 2022-12-09 23:19:05 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,185 bytes |
| コンパイル時間 | 357 ms |
| コンパイル使用メモリ | 30,464 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-14 22:53:43 |
| 合計ジャッジ時間 | 1,273 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 10 WA * 15 |
ソースコード
#include <stdio.h>
void func (int pi, int k, int t, int n, double *prob, double tmp_prob) {
if (t > 21) {
return;
}
prob[t] += ((double)n)/((double)(pi-k));
if (n > 0) {
func(pi, k, t+1, n, prob, tmp_prob*((double)n)/((double)(pi-k)));
}
if (pi-k-n > 0) {
func(pi, k, t+1, n+1, prob, tmp_prob*((double)(pi-k-n))/((double)(pi-k)));
}
return;
}
int main () {
int n = 0;
int k = 0;
int p[6] = {};
int s[6] = {};
int t[6] = {};
int res = 0;
double e[5000] = {};
double ans = 0.0;
int sum = 0;
double prob[6][22] = {};
res = scanf("%d", &n);
res = scanf("%d", &k);
for (int i = 0; i < n; i++) {
res = scanf("%d", p+i);
res = scanf("%d", s+i);
res = scanf("%d", t+i);
sum += t[i];
}
if (sum > 60) {
printf("-1\n");
return 0;
}
for (int i = 0; i < 6; i++) {
func(p[i], k, k+2, 1, prob[i], 1.0);
}
for (int i = 0; i < (1<<n); i++) {
int is_ok = 1;
int b = (1<<n)-1;
while (b >= 0) {
b &= i;
if (e[b] > 0.0) {
is_ok = 0;
}
b--;
}
if (is_ok > 0) {
for (int i = 1; i < 22; i++) {
}
}
}
}
chro_96