1219. 移动距离

摘要
Title: 1219. 移动距离
Tag: 求坐标、模拟
Memory Limit: 64 MB
Time Limit: 1000 ms

Powered by:NEFU AB-IN

Link

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))
使用搜索:谷歌必应百度