(模拟)(矩阵坐标表示)1219. 移动距离

简介: (模拟)(矩阵坐标表示)1219. 移动距离

题目链接

AcWing 1219. 移动距离 - AcWing


一些话


切入点

X星球居民小区的楼房全是一样的,并且按矩阵样式排列。


其楼房的编号为 1,2,3…1,2,3…


当排满一行时,从下一行相邻的楼往反方向排号。


我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)


读题得知一个矩阵及其性质,知道元素编号,就坐标距离

流程

用编号表示出行号,根据行号写出列号


套路

根据元素编号进行矩阵元素的坐标表示:

       效仿二维数组的表示,下标从0开始,便于获取坐标

       n * n 矩阵, 编号t,t--,xt = t / n,yt = t % n;

ac代码

// 6:53~19贪快没读好题,debuhg废了很多时间
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int w, m, n;
    cin >> w >> m >> n;
    m --, n -- ;
    int x1 = m / w, x2 = n / w;
    int y1 = m % w, y2 = n % w;
    if (x1 % 2) y1 = w - 1 - y1;
    if (x2 % 2) y2 = w - 1 - y2;
    cout << y1 << " " << y2 << endl;
    cout << abs(x1 - x2) + abs(y1 - y2) << endl;
    return 0;
}
目录
相关文章
|
3月前
|
算法
算法题—顺时针打印矩阵
算法题—顺时针打印矩阵
23 0
|
3月前
根据经纬度计算两点距离的方法
根据经纬度计算两点距离的方法
|
4月前
[Halcon&几何] 线段中点、端点和角度的计算
[Halcon&几何] 线段中点、端点和角度的计算
57 0
|
9月前
|
定位技术 API 容器
百度地图API开发:map.getDistance计算两点之间的距离(直线距离)
百度地图API开发:map.getDistance计算两点之间的距离(直线距离)
644 0
|
10月前
给定三个顶点的坐标使用程序计算三角形
给定三个顶点的坐标使用程序计算三角形
32 0
B. Following Directions(模拟::坐标)
B. Following Directions(模拟::坐标)
27 0
|
机器学习/深度学习
平面上有 n n个坐标相异的点,请问当中有多少组非共线的三个点,这三个点的 外心 也在这 nn 个点之中?
有一个正整数 nn 代表平面上的点数。 接下来有 nn 行,当中的第 ii 行包含两个整数 x_i, y_i,xi​,yi​ 代表第 i 个点的坐标是 (x_i, y_i)(xi​,yi​)。
84 0
|
算法 程序员 C语言