結果
問題 |
No.398 ハーフパイプ(2)
|
ユーザー |
![]() |
提出日時 | 2016-07-16 00:50:00 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,128 bytes |
コンパイル時間 | 108 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-10-15 12:58:30 |
合計ジャッジ時間 | 2,027 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 WA * 3 |
ソースコード
func = [1, 1, 2, 6, 24, 120, 720] def calc(a, b, c, d): total = 0 if a == b and b == c and c == d: return 24 * a * (100 - a) + 601 elif a > b and b == c and c == d: p = [1, 3] elif a == b and b > c and c == d: p = [2, 2] elif a > b and b > c and c == d: p = [1, 1, 2] elif a == b and b == c and c > d: p = [3, 1] elif a > b and b == c and c > d: p = [1, 2, 1] elif a == b and b > c and c > d: p = [2, 1, 1] elif a > b and b > c and c > d: p = [1, 1, 1, 1] else: print(a, b, c, d) exit() t = func[p[0]+1] * func[p[-1]+1] if len(p) > 2: t *= func[p[1]] return 720*((100-a)*(p[0]+1)+1)*(d*(p[-1]+1)+1)//t x = float(input()) y = int(x * 4) total = 0 for a in range(int(x), min(100, y) + 1): for b in range(0, min(int(2 * x), a) + 1): if b>a: continue for c in range(0, min(int(4 / 3 * x), b) + 1): if c>b: continue d = y - a - b - c if 0 <= d <= c: total += calc(a, b, c, d) print(total)