博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第六届蓝桥杯试题c/c++B组8
阅读量:4449 次
发布时间:2019-06-07

本文共 886 字,大约阅读时间需要 2 分钟。

移动距离

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

当排满一行时,从下一行相邻的楼往反方向排号。
比如:当小区排号宽度为6时,开始情形如下:

1 2 3 4 5 6

12 11 10 9 8 7
13 14 15 .....

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

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

w为排号宽度,m,n为待计算的楼号。
要求输出一个整数,表示m n 两楼间最短移动距离。

例如:

用户输入:
6 8 2
则,程序应该输出:
4

再例如:

用户输入:
4 7 20
则,程序应该输出:
5

资源约定:

峰值内存消耗 < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

#include
#include
using namespace std;void f(int w, int n, int& x, int& y){
//确定n的坐标 x=(n-1)/w; y=n%w; if (x%2==0){ y=w-y+1; }}int main() { int w, n, m; int x1, x2, y1, y2; cin>>w>>n>>m; f(w, n, x1, y1); f(w, m, x2, y2); cout<

 

转载于:https://www.cnblogs.com/a863886199/p/6568325.html

你可能感兴趣的文章
第一百九十五天 how can I 坚持
查看>>
Swift 入门之简单语法(五)
查看>>
多视几何——三角化求解3D空间点坐标
查看>>
Drag+Drop和MouseClick
查看>>
AWS RDS 使用笔记
查看>>
Puppeteer VS Puppeteer-core
查看>>
Rxjava 执行阻塞的原因分析 tolist() observable.from()等。
查看>>
[转载]解决TCP网络传输“粘包”问题
查看>>
arm裸机驱动错误总结
查看>>
C# 程序性能提升篇-1、装箱和拆箱,枚举的ToString浅析
查看>>
lfs(systemv版本)学习笔记-第3页
查看>>
Postman-简单使用(1)
查看>>
[BJOI2014] 大融合
查看>>
最简单的一个java驱动jdbc链接mysql数据库
查看>>
Laravel 加载第三方类库的方法
查看>>
Binary Tree Level Order Traversal
查看>>
wcf契约版本处理与异常处理(随记)
查看>>
hlg1201Zombie’s Treasure Chest---数学问题
查看>>
1.基础数据类型的初识 字符串 bool 整型 if else elif
查看>>
Mybatis源码分析: MapperMethod功能讲解(1)
查看>>