結果
| 問題 |
No.398 ハーフパイプ(2)
|
| コンテスト | |
| ユーザー |
maspy
|
| 提出日時 | 2020-03-07 07:06:48 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 66 ms / 2,000 ms |
| コード長 | 2,449 bytes |
| コンパイル時間 | 168 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-10-14 11:29:58 |
| 合計ジャッジ時間 | 2,103 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
#!/usr/bin/env python3
# %%
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
# %%
X = float(read())
# %%
X = int(4 * X + .5)
# %%
def solve(X):
ret = 0
if X % 4 == 0:
a = X // 4
ret += 1 # a,a,a,a,a,a
ret += 6 * a # x,a,a,a,a,a
ret += 6 * (100 - a) # a,a,a,a,a,y
ret += 30 * a * (100 - a) # x,a,a,a,a,y
for a in range(101):
for b in range(a + 1, 101):
if a + a + a + b == X:
ret += 15 # a,a,a,a,b,b
ret += a * 60 # x,a,a,a,b,b
ret += (100 - b) * 30 # a,a,a,a,b,y
ret += a * (100 - b) * 120 # x,a,a,a,b,y
if a + b + b + b == X:
ret += 15 # a,a,b,b,b,b
ret += (100 - b) * 60 # a,a,b,b,b,y
ret += a * 30 # x,a,b,b,b,b
ret += a * (100 - b) * 120 # x,a,b,b,b,y
if a + a + b + b == X:
ret += 20 # a,a,a,b,b,b
ret += a * 60 # x,a,a,b,b,b
ret += (100 - b) * 60 # a,a,a,b,b,y
ret += a * (100 - b) * 180 # x,a,a,b,b,y
for a in range(101):
for c in range(a + 1, 101):
if a < X - a - a - c < c:
ret += 60 # a,a,a,b,c,c
ret += 180 * a # x,a,a,b,c,c
ret += 120 * (100 - c) # a,a,a,b,c,y
ret += a * (100 - c) * 360 # x,a,a,b,c,y
if a < X - a - c - c < c:
ret += 60 # a,a,b,c,c,c
ret += 180 * (100 - c) # a,a,b,c,c,y
ret += 120 * a # x,a,b,c,c,c
ret += a * (100 - c) * 360 # x,a,b,c,c,y
b = (X - a - c) // 2
if a < b < c and a + b + b + c == X:
ret += 90 # a,a,b,b,c,c
ret += a * 180 # x,a,b,b,c,c
ret += (100 - c) * 180 # a,a,b,b,c,y
ret += a * (100 - c) * 360 # x,a,b,b,c,y
for a in range(101):
for d in range(a + 3, 101):
cnt_bc = sum(a < b < X - a - b - d < d for b in range(a + 1, d))
if not cnt_bc:
continue
ret += cnt_bc * 180 # a,a,b,c,d,d
ret += cnt_bc * a * 360 # x,a,b,c,d,d
ret += cnt_bc * (100 - d) * 360 # a,a,b,c,d,y
ret += cnt_bc * a * (100 - d) * 720 # x,a,b,c,d,y
return ret
# %%
print(solve(X))
maspy