結果
| 問題 | No.3601 Queen Dist Sum with One Wall |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-07-24 23:34:37 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,423 bytes |
| 記録 | |
| コンパイル時間 | 559 ms |
| コンパイル使用メモリ | 95,984 KB |
| 実行使用メモリ | 103,596 KB |
| 最終ジャッジ日時 | 2026-07-24 23:35:07 |
| 合計ジャッジ時間 | 20,822 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 9 WA * 13 |
ソースコード
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)
tx = max(sx+sy*2, sx+(h-1-sy)*2)
tx = min(tx, w-1)
mx = min(mx, w-1)
mx = max(mx, gx)
if mx < tx:
if (mx+1) % 2 == sx % 2:
t = (tx+1-mx)//2
else:
t = (tx-mx)//2
a3 = (tx-mx)-t
if tx < w-1:
a3 += w-1-tx
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