結果
| 問題 |
No.3108 Luke or Bishop
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-04-18 20:56:21 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,221 bytes |
| コンパイル時間 | 364 ms |
| コンパイル使用メモリ | 12,032 KB |
| 実行使用メモリ | 10,368 KB |
| 最終ジャッジ日時 | 2025-04-18 20:56:24 |
| 合計ジャッジ時間 | 1,894 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 11 WA * 15 |
ソースコード
def word_to_number(word):
singles = {
"zero": 0, "one": 1, "two": 2, "three": 3,
"four": 4, "five": 5, "six": 6, "seven": 7,
"eight": 8, "nine": 9
}
teens = {
"ten": 10, "eleven": 11, "twelve": 12, "thirteen": 13,
"fourteen": 14, "fifteen": 15, "sixteen": 16,
"seventeen": 17, "eighteen": 18, "nineteen": 19
}
tens = {
"twenty": 20, "thirty": 30, "forty": 40,
"fifty": 50, "sixty": 60, "seventy": 70,
"eighty": 80, "ninety": 90
}
parts = word.lower().split()
number = 0
if len(parts) == 1:
if parts[0] in singles:
number = singles[parts[0]]
elif parts[0] in teens:
number = teens[parts[0]]
elif parts[0] in tens:
number = tens[parts[0]]
elif len(parts) == 2:
if parts[0] in tens and parts[1] in singles:
number = tens[parts[0]] + singles[parts[1]]
elif parts[0] in singles and parts[1] in singles:
number = singles[parts[0]] # fall back, rare
return number
def chess_moves(x, y):
if x == 0 and y == 0:
return 0
rook = 1 if x == 0 or y == 0 else 2
if (x + y) % 2 != 0:
bishop = float('inf')
elif x == y or x == -y:
bishop = 1
else:
bishop = 2
return min(rook, bishop)
# --- Main Program ---
import sys
input_line = sys.stdin.read().strip()
parts = input_line.lower().split()
try:
# Try to parse as numbers like "1 1"
if len(parts) == 2 and parts[0].isdigit() and parts[1].isdigit():
x = int(parts[0])
y = int(parts[1])
else:
# Otherwise assume it's two words like "twenty three"
if len(parts) == 2:
x = word_to_number(parts[0])
y = word_to_number(parts[1])
elif len(parts) == 3:
# e.g. "twenty one five" → 21, 5
x = word_to_number(" ".join(parts[:2]))
y = word_to_number(parts[2])
elif len(parts) == 4:
x = word_to_number(" ".join(parts[:2]))
y = word_to_number(" ".join(parts[2:]))
else:
x = y = 0 # fallback
except:
x = y = 0 # fallback
print(chess_moves(x, y))