1261
惑星X住宅はすべて同じであり、マトリクス状に配置されました。
ライン、隣接する建物からアレンジ反対方向に次の行を満たしたとき、その建物は... 1,2,3番。
たとえば、次のセル6を配置幅、開始状況のときのように:
1. 4 5 6 2 3
。12は9 10 8 7 11
13 14 15である.....
私達の問題の2つの数字が与えられるが、mおよびn F 、最短距離その間の動きを得るために必要な
(動きがない対角線方向)、
入力された
テストデータのセットの入力複数
入力が3 WMNの整数であり、別々のスペース、1〜10000の範囲内にある
Wは、行数mの幅であり、 N Fを算出します。
出力
要求出力の整数であり、2つの移動床MNとの間の最短距離を表しています。
サンプル入力コピー
6 2 8
4 7 20は、
コピー出力例
。4
。5
ご注意ください
私たちは、ゼロベース、簡単な順序付けを使用する必要があります
アルゴリズム
- 建物の位置を計算する機能を持ちます
- 2つの移動床MNとの間の最短距離の絶対値の差があるように、2つの位置が、yとxは
問題の解決策
def local(w, data):
data = data-1#方便排序计算
odd = (data // w)% 2
if odd == 0:
return (data // w, data % w)
else:
return (data // w, w-1-(data % w))
while True:
w, m, n = map(int, input().split())
M = local(w,m)
N = local(w,n)
# print(M,N)
res = abs(N[0]-M[0])+abs(N[1]-M[1])
print(res)