結果
| 問題 | No.3601 Queen Dist Sum with One Wall |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-07-24 23:24:36 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,314 bytes |
| 記録 | |
| コンパイル時間 | 268 ms |
| コンパイル使用メモリ | 95,720 KB |
| 実行使用メモリ | 102,204 KB |
| 最終ジャッジ日時 | 2026-07-24 23:25:05 |
| 合計ジャッジ時間 | 20,328 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 5 WA * 17 |
ソースコード
def main():
h, w, sy, sx, gy, gx = list(map(int, input().split()))
sy, sx, gy, gx = sy-1, sx-1, gy-1, gx-1
ans = 0
a0 = 2
a1 = h+w-2
if sy+sx < min(h-1, w-1):
a1 += sy+sx
elif sy+sx <= max(h-1, w-1):
a1 += min(h, w)-1
else:
a1 += h+w-2-sy-sx
sx = w-1-sx
gx = w-1-gx
if sy+sx < min(h-1, w-1):
a1 += sy+sx
elif sy+sx <= max(h-1, w-1):
a1 += min(h, w)-1
else:
a1 += h+w-2-sy-sx
a2 = h*w-a1-a0
a3 = 0
if sy == gy or sx == gx:
if sx == gx:
sy, sx, gy, gx, h, w = sx, sy, gx, gy, w, h
if gx < sx:
sx, gx = w-1-sx, w-1-gx
a1 -= 1 + (w-1-gx)
a2 += 1 + (w-1-gx)
y = sy
mx = max(y+sx, h-1+sx-y)
mx = min(mx, w-1)
mx = max(mx, gx)
if mx < w-1:
if (mx+1) % 2 == sx % 2:
t = (w-mx)//2
else:
t = (w-1-mx)//2
a3 = (w-1-mx)-t
a2 -= a3
elif sy-sx == gy-gx or gy+gx == sy+sx:
if sy-sx != gy-gx:
sx, gx = w-1-sx, w-1-gx
if sy < gy:
gy, gx = h-1-gy, w-1-gx
t = min(gy, gx)
a2 += t+1
a1 -= t+1
ans = a3*3+a2*2+a1
return ans
for _ in range(int(input())):
print(main())
kidodesu