結果

問題 No.3601 Queen Dist Sum with One Wall
コンテスト
ユーザー kidodesu
提出日時 2026-07-24 23:34:37
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 1,423 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 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
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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())
0