(模拟)(矩阵坐标表示)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;
}
目录
相关文章
|
编解码 索引 Python
python--根据任意非网格经纬度坐标,找到均匀网格点上最接近的经纬度坐标
需求:根据非规则经纬度坐标,查找均匀网格点上最接近的经纬度坐标,并提取该点上的变量。
python--根据任意非网格经纬度坐标,找到均匀网格点上最接近的经纬度坐标
|
3月前
|
C++
C++代码来计算一个点围绕另一个点旋转45度后的坐标
C++代码来计算一个点围绕另一个点旋转45度后的坐标
71 0
|
3月前
|
算法
平面中判断点在三角形内算法(同向法)
平面中判断点在三角形内算法(同向法)
25 0
|
算法 JavaScript 前端开发
84坐标系、02坐标系、百度坐标之间相互转换算法
最近有同学反馈之前的坐标系转换有问题,对之前的工具类进行了修正。 一、地图坐标转换java工具类 包含84坐标系、02坐标系、百度地图、高德地图、腾讯地图坐标之间相互转换的算法 wgs84ToGcj02:将 WGS84 坐标系下的经纬度转换为 GCJ02 坐标系下的经纬度。 gcj02ToWgs84:将 GCJ02 坐标系下的经纬度转换为 WGS84 坐标系下的经纬度。 gcj02ToBd09:将 GCJ02 坐标系下的经纬度转换为 BD09 坐标系下的经纬度。 bd09ToGcj02:将 BD09 坐标系下的经纬度转换为 GCJ02 坐标系下的经纬度。
1079 0
84坐标系、02坐标系、百度坐标之间相互转换算法
|
6月前
根据经纬度计算两点距离的方法
根据经纬度计算两点距离的方法
|
6月前
[Halcon&几何] 线段中点、端点和角度的计算
[Halcon&几何] 线段中点、端点和角度的计算
255 0
|
6月前
|
算法
[Halcon&几何] 矩形顶点和对角连线角度计算
[Halcon&几何] 矩形顶点和对角连线角度计算
130 0
|
定位技术 API 容器
百度地图API开发:map.getDistance计算两点之间的距离(直线距离)
百度地图API开发:map.getDistance计算两点之间的距离(直线距离)
921 0
给定三个顶点的坐标使用程序计算三角形
给定三个顶点的坐标使用程序计算三角形
59 0
判断上三角矩阵
判断上三角矩阵 (15 分)
117 0