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

题目描述

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
相关推荐
杨逢昌工厂6S管理6 小时前
127-钣金产线6S改善后总反弹?杨逢昌一线现场诊断笔记:反弹背后的熵增机理与基准化治理
经验分享·笔记·职场和发展·学习方法
钟小羊职业履历核验专家10 小时前
履历真实性异常的补证与独立复核如何完成
职场和发展
德彪稳坐倒骑驴12 小时前
Leetcode力扣刷题记录与题解
算法·leetcode·职场和发展
lll23526917791 天前
HR如何快速整理面试沟通内容?
面试·职场和发展
零售校长1 天前
西湖区零售门店店长面试怎么准备
面试·职场和发展·零售
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》 | 第 45 章【终章】WiFi 开发全套知识复盘 + 面试高频题 + 进阶路线
物联网·面试·职场和发展
凯瑟琳.奥古斯特1 天前
OCR文字检测算法对比解析
开发语言·python·职场和发展
背景调查知识库1 天前
职业背景调查中的职业事实与主观评价分离如何判断?
职场和发展
学顶教育2 天前
学顶教育:公务员面试常见问题!
面试·职场和发展
人才风控观察周刊2 天前
教育机构人员背调方案的方案能力证据、版本与复审周期是否透明可
职场和发展