結果
| 問題 | No.3596 Queen Score Attack 1 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-07-24 21:55:45 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 3,718 bytes |
| 記録 | |
| コンパイル時間 | 689 ms |
| コンパイル使用メモリ | 21,536 KB |
| 実行使用メモリ | 16,012 KB |
| 最終ジャッジ日時 | 2026-07-24 21:58:45 |
| 合計ジャッジ時間 | 9,442 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 9 WA * 22 |
ソースコード
# coding: utf-8
# AtCoder Competition Template v2.1 SHORT (PyPy 7.3.20 / Python 3.11)
# ↑ https://github.com/Rino-program/atcoder/blob/main/contests/.template/main.py
# oj test -c 'C:\Rino-program\AtCoder\.venv-pypy311\Scripts\python.exe maina.py' -d input/a
import sys
from collections import deque, defaultdict, Counter
from itertools import permutations, combinations, accumulate, product, chain
from bisect import bisect_left, bisect_right
from copy import deepcopy
import operator
import heapq
import math
import string
# ===== 入出力ヘルパ =====
def input() -> str:
return sys.stdin.readline().rstrip()
def INT() -> int:
return int(input())
def MAP():
return map(int, input().split())
def LIST() -> list[int]:
return list(MAP())
def TUPLE() -> tuple[int, ...]:
return tuple(MAP())
def LISTS(n: int) -> list[list[int]]:
return [LIST() for _ in range(n)]
def TUPLES(n: int) -> list[tuple[int, ...]]:
return [TUPLE() for _ in range(n)]
def LISTSI(n: int) -> list[int]:
return [INT() for _ in range(n)]
def STR() -> str:
return input()
def STRS(n: int) -> list[str]:
return [STR() for _ in range(n)]
def CHARS() -> list[str]:
return list(STR())
def CHARSL(n: int) -> list[list[str]]:
return [list(STR()) for _ in range(n)]
# ===== 定数 =====
INF = 10 ** 18
MOD = 998244353
# MOD = 10**9 + 7
# ===== 関数短縮 =====
pr = print
en = enumerate
hepu = heapq.heappush
hepo = heapq.heappop
bil = bisect_left
bir = bisect_right
dedict = defaultdict
# ===== 方向ベクトル =====
DIR4 = [(1, 0), (0, 1), (-1, 0), (0, -1)]
DIR8 = [(1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), (-1, -1), (0, -1), (1, -1)]
DIR9 = [(1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), (-1, -1), (0, -1), (1, -1), (0, 0)]
# ===== 文字列のリスト =====
LOWER = list(string.ascii_lowercase) # 小文字 a-z の文字列リスト
UPPER = list(string.ascii_uppercase) # 大文字 A-Z の文字列リスト
DIGITS = list(string.digits) # 数字 0-9 の文字列リスト
# ===== よく使う出力関数 =====
def Yes(): print("Yes")
def No(): print("No")
def yes(): print("yes")
def no(): print("no")
def YES(): print("YES")
def NO(): print("NO")
def yn(cond: bool) -> None:
"""条件に応じてYes/No出力"""
print("Yes" if cond else "No")
# ===== デバッグ =====
def debug(*args, **kwargs) -> None:
"""デバッグ出力(標準エラー)"""
print("[DEBUG]", *args, **kwargs, file=sys.stderr)
def print_grid(grid: list[list], sep: str = '') -> None:
"""グリッド表示"""
for row in grid:
print(sep.join(map(str, row)))
# ==============================================
# =================== main =====================
# ==============================================
def main() -> None:
# ここに解答を書く
T = INT()
for _ in range(T):
H, W = MAP()
A = LISTS(H)
for i in range(H):
for j in range(W):
d = deque()
ma = -INF
for dx, dy in DIR8:
ni, nj = i + dx, j + dy
if 0 <= ni < H and 0 <= nj < W:
d.append(((ni, nj), (dx, dy)))
while d:
(x, y), (dx, dy) = d.popleft()
ma = max(ma, A[x][y])
nx, ny = x + dx, y + dy
if 0 <= nx < H and 0 <= ny < W:
d.append(((nx, ny), (dx, dy)))
if A[i][j] - ma > 0:
print("infinite")
break
else:
continue
break
else:
print("finite")
if __name__ == "__main__":
main()