結果

問題 No.3601 Queen Dist Sum with One Wall
コンテスト
ユーザー hiryuN
提出日時 2026-07-24 22:57:17
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 1,107 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 246 ms
コンパイル使用メモリ 96,432 KB
実行使用メモリ 96,928 KB
最終ジャッジ日時 2026-07-24 22:57:53
合計ジャッジ時間 16,596 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 9 WA * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

t=int(input())

def solve1(h,w,x,y,a,b):
    ans=h+w-2
    ans+=min(x-1,y-1)+min(h-x,y-1)+min(x-1,w-y)+min(h-x,w-y)
    return ans
def R(h,w,x,y,a,b):
    if x==a or y==b:
        return True
    return False
def B(h,w,x,y,a,b):
    if abs(x-a)==abs(y-b):
        return True
    return False
def D(h,w,x,y,a,b):
    ans=10**18
    if x<a:
        ans=min(ans,h-a+1)
    if y<b:
        ans=min(ans,w-b+1)
    if a<x:
        ans=min(ans,a)
    if b<y:
        ans=min(ans,b)
    return ans
def F(h,w,x,y,a,b):
    div=max(h-x,x-1)
    left=y-div*2
    lef=y-div
    if left<0:
        left=2-left%2
    ans=(lef+1-left)//2 + b-lef
    return b-1 -ans
        
for i in range(t):
    h,w,x,y,a,b=map(int,input().split())
    if x!=a:
        h,w=w,h
        x,y=y,x
        a,b=b,a
    if y<b:
        a=h+1-a
        x=h+1-x
        b=w+1-b
        y=w+1-y
    A1=solve1(h,w,x,y,a,b)
    if not (R(h,w,x,y,a,b) or B(h,w,x,y,a,b)):
        print(h*w*2-4-A1)
    elif B(h,w,x,y,a,b):
        print(h*w*2-4-A1+D(h,w,x,y,a,b))
    else:
        print(h*w*2-4-A1+D(h,w,x,y,a,b)+F(h,w,x,y,a,b))
        
        
0