結果
| 問題 | No.3601 Queen Dist Sum with One Wall |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-07-24 23:29:34 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,303 bytes |
| 記録 | |
| コンパイル時間 | 1,825 ms |
| コンパイル使用メモリ | 95,604 KB |
| 実行使用メモリ | 97,060 KB |
| 最終ジャッジ日時 | 2026-07-24 23:29:53 |
| 合計ジャッジ時間 | 17,493 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 2 WA * 20 |
ソースコード
t=int(input())
def V(h,w,x,y,a,b):
Ans=[]
for i in range(h):
Ans.append([9]*w)
Ans[x-1][y-1]=0
Ans[a-1][b-1]=8
for I in Ans:
print(*I)
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-(1-left%2)
lef=max(lef,1)
return (min(b-1,lef)-left+2)//2
for i in range(t):
h,w,x,y,a,b=map(int,input().split())
#V(h,w,x,y,a,b)
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))