当前位置: 首页 > news >正文

[蓝桥杯 2015 省 B] 移动距离

蓝桥杯 2015 年省赛 B 组 H 题

题目描述

X 星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3,⋯ 。

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

比如:当小区排号宽度为 6 时,开始情形如下:

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

输入格式

输入为 33 个整数 w m n,空格分开,都在 11 到 10000 范围内。

w 为排号宽度,m,n为待计算的楼号。

输出格式

要求输出一个整数,表示 m 与 n 两楼间最短移动距离。

输入输出样例

输入

6 8 2

输出

4

输入

4 7 20

输出

5

说明/提示

时限 1 秒, 256M。

解题关键:使楼号的编号从0开始,m和n都需要自减

列号= n%w

如果列号为偶数:行号= n/w

如果列号为奇数:行号= w-1-n/w

两点之间的曼哈顿距离:d = |x1 - x2| + |y1 - y2|

#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 << abs(x1 - x2) + abs(y1 - y2) << endl;return 0;
}
http://www.lryc.cn/news/14534.html

相关文章:

  • Pandas库入门仅需10分钟
  • python的socket通信中,如何设置可以让两台主机通过外网访问?
  • 检测数据的方法(回顾)
  • 比特数据结构与算法(第三章_上)栈的概念和实现(力扣:20. 有效的括号)
  • JVM13 类的生命周期
  • Docker网络模式解析
  • 游山城重庆
  • Vuex的创建和简单使用
  • Arduino IDE搭建Heltec开发板开发环境
  • Using the GNU Compiler Collection 目录翻译
  • 使用 OpenCV for Android 进行图像特征检测
  • chatGPT笔记
  • 这么好的政策和创新基地,年轻人有梦想你就来
  • 【Kubernetes】【十九】安全认证
  • Apache Flink 实时计算在美的多业务场景下的应用与实践
  • 27 pandas 数据透视
  • 1.2 学习环境准备
  • Http1.0协议常识
  • “终于懂了” 系列:组件化框架 ARouter 完全解析(三)AGP/Transform/ASM—动态代码注入
  • 传闻腾讯引进Quest 2?我觉得可行性很低
  • 【数据集】CMIP6气候模式数据下载
  • 华为OD机试 - 最长的元音字符串 | 机试题算法思路 【2023】
  • 浅谈c++引用
  • 2023什么是分销商城?怎么搭建分销商城
  • 408数据结构考点总结
  • 虹科分享 | 网络流量监控 | 你的数据能告诉你什么:解读网络可见性的4种数据类型
  • SpringBoot日志框架使用详解
  • 剑指offer-消失的数字、数组中出现的次数
  • axios请求配置baseURL选项
  • 风储VSG-基于虚拟同步发电机的风储并网系统MATLAB仿真