蓝桥杯官网练习题(移动距离)

题目描述

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 两楼间最短移动距离。

输入输出样例

示例1
输入

6 2 8

输出

4

示例2
输入

4 7 20

输出

5

运行限制

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int w=scan.nextInt();
        int m=scan.nextInt();
        int n=scan.nextInt();
        int mhang=0;
        int nhang=0;
        int mlie=0;
        int nlie=0;
        int ans=0;
        if(m%w==0){
            mhang=m/w;
        }
        else{
            mhang=(m/w)+1;
        }
        if(n%w==0){
            nhang=n/w;
        }
        else{
            nhang=(n/w)+1;
        }
        if(mhang%2==0){
            mlie=w*mhang-m+1;
        }
        else{
            mlie=m-(w*(mhang-1));
        }
        if(nhang%2==0){
            nlie=w*nhang-n+1;
        }
        else{
            nlie=n-(w*(nhang-1));
        }
        ans=Math.abs(mhang-nhang)+Math.abs(mlie-nlie);
        System.out.println(ans);
        scan.close();
    }
}
    • 最大运行时间:1s
    • 最大运行内存: 256M
相关推荐
枳实-叶6 小时前
50 道嵌入式音视频面试题
面试·职场和发展·音视频
Magic--9 小时前
经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析
算法·leetcode·职场和发展
2301_8008951010 小时前
第十二届蓝桥杯b组初赛--备战蓝桥杯版
职场和发展·蓝桥杯
杰杰桀桀桀12 小时前
蓝桥杯第8,12,15届省赛和15届国赛满分工程
职场和发展·蓝桥杯
滴滴答滴答答12 小时前
LeetCode Hot100 之 41 缺失的第一个正数
算法·leetcode·职场和发展
_日拱一卒12 小时前
LeetCode:无重复字符的最长字串
算法·leetcode·职场和发展
XWalnut13 小时前
LeetCode刷题 day2
算法·leetcode·职场和发展
Trouvaille ~13 小时前
【优选算法篇】队列与宽度优先搜索(BFS)——层层递进的视野
c++·算法·leetcode·青少年编程·面试·蓝桥杯·宽度优先
watersink14 小时前
自然科学专技类C类-题型策略
职场和发展
AI职业加油站14 小时前
数字时代先机:大数据采集工程师
大数据·人工智能·机器学习·职场和发展