1219. 移动距离
摘要
Title: 1219. 移动距离
Tag: 求坐标、模拟
Memory Limit: 64 MB
Time Limit: 1000 ms
Powered by:NEFU AB-IN
1219. 移动距离
-
题意
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。
其楼房的编号为 1,2,3…
当排满一行时,从下一行相邻的楼往反方向排号。
比如:当小区排号宽度为 6 时,开始情形如下:
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 …
我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。 -
思路
当下标从0开始,求坐标好算,不用考虑边界
-
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21'''
Author: NEFU AB-IN
Date: 2022-03-25 13:51:27
FilePath: \ACM\Acwing\1219.py
LastEditTime: 2022-03-25 14:02:04
'''
def find(p):
x, y = (p // w), (p % w)
if (p // w) & 1:
y = w - y - 1
return x, y
w, m, n = map(int, input().split())
xm, ym = find(m - 1)
xn, yn = find(n - 1)
print(abs(xm - xn) + abs(ym - yn))