結果
問題 |
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))