蓝桥杯:每周一练之楼房最短距离问题

2024-04-29 11:32

本文主要是介绍蓝桥杯:每周一练之楼房最短距离问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我的博客:https://blog.csdn.net/txb116424
学习资料和练习题目地址: http://dasai.lanqiao.cn/pages/dasai/news_detail_w.html?id=644

[问题描述]
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范围内
要求输出一个整数,表示m n 两楼间最短移动距离。

[样例输入]
6 8 2
[样例输出]
4

[样例输入]
4 7 20
[样例输出]
5
*/


import java.util.Scanner;public class MinDistance1 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (true) {int w = in.nextInt();int m = in.nextInt();int n = in.nextInt();get_coordinates(w, m, n);}}// 输出坐标差值(两楼距离)public static void get_coordinates(int w, int m, int n) {int x1 = hang(w, m);int x2 = hang(w, n);int y1 = lie(w, m);int y2 = lie(w, n);// Math.abs()返回一个数的绝对值System.out.println(Math.abs(x1 - x2) + Math.abs(y1 - y2));}// 获取横坐标public static int hang(int w, int a) {int x, y;x = (a - 1) / w + 1;return x;}// 获取纵坐标public static int lie(int w, int a) {int x, y;x = (a - 1) / w + 1;y = a % w;if (y == 0)y = w;if (x % 2 == 0) // 双数行是逆序y = w - y + 1;return y;}
}

这篇关于蓝桥杯:每周一练之楼房最短距离问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945962

相关文章

MySQL server PID file could not be found! 问题解决

今天重启mysql的时候出现了一个蛋疼的错误,花了很长时间找遍百度和谷歌,试遍各种解决方法,没用,一点改变都没有 既不是磁盘满了,也不是.....等等等,反正都不是 最最蛋疼的是没有日志!!!满脸懵逼生无可恋 结果最终的解决办法居然是:重启机器!!! ERROR! MySQL server PID file could not be found! Starting

Python爬虫系列-爬取小说(解决遇到cookie验证爬取不了的问题)

前段时间五一放假,在家没事干,在哔哩哔哩上瞎看,发现一个搞笑视频合集不错,闲来无事正好晚上催眠用,名称叫《我靠打爆学霸兑换黑科技》,里面的男主角生为一个高中生学习天赋惊人,各种逆袭外挂的人生,看的令人神往。链接如下:雯锐动画投稿视频-雯锐动画视频分享-哔哩哔哩视频 (bilibili.com)https://space.bilibili.com/357072740/video  可惜动画更新的很

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(76)

1. 题目解析 题目链接:LCR 091. 粉刷房子 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 1. 状态定义 在解决这类问题时,我们首先需要根据题目的具体要求来定义状态。针对房屋粉刷问题,我们可以定义一个二维数组dp来表示状态,其中dp[i][j]表示粉刷到第i个位置时,且最后一个位置粉刷成颜色j(j可以是红、蓝、绿三种颜色)时的最小花费。

汉诺塔问题推广【排列组合】

已知的汉诺塔问题是这样的: 有三根木棒,第一根木棒上有若干根环,现在要把第一根木棒上的环移动到第三根上去,移动的规则是大的环不能在小的环上面。 现在将其改变一下: 木棒的移动过程中每次只能在相邻的木棒间移动。 问有多少种方法。 其实类似于这样的问题我们可以这样来考虑: 总和F(n) 第一步:将第一个棒上的(n-1)个环移动到第三个棒上。--->F(n-1) 第二步:将第一个棒上的最

16.ABA问题

文章目录 ABA问题1.什么是ABA问题?2.ABA问题解决方案2.1.使用AtomicStampedReference解决ABA问题2.2.使用AtomicMarkableReference解决ABA问题 ABA问题 因为CAS操作的原子性能高,在JUC中广泛被应用,但是如果使用的不合理,CAS操作就会存在ABA问题! 1.什么是ABA问题? ABA问题是指在并发

手撕C语言题典——环形链表的约瑟夫问题

目录 前言  一.故事背景 二.题目  ​编辑三.思路 1)数组 ​编辑2) 循环链表 四.代码实现    搭配食用更佳哦~~ 数据结构之单单单——链表-CSDN博客 数据结构之单链表的基本操作-CSDN博客 前面学了单链表的相关知识,我们来尝试做一下关于单链表的经典算法题~  前言        这次是牛客上的一道题,是循环链表的经典应用,讲的是一个老六用自己的聪

单链表经典算法OJ题--牛客(环形链表的约瑟夫问题

链接:环形链表的约瑟夫问题_牛客题霸_牛客网【点击即可跳转】 著名的Josephus问题 据说著名犹太历史学家 Josephus有过以下的故事:   在罗马人占领乔塔帕特后,39 个犹太⼈与 Josephus及他的朋友躲到⼀个洞中,39个犹太⼈决定宁愿死也不要被⼈抓到,于是决定了⼀个自杀方式,41个⼈排成⼀个圆圈,由第1个⼈开始报数,每报数到第3人,该人就必须自杀,然后再由下一个重

JavaScript中form的submit方法不响应的问题解决

今天第一次测试javaScript,一个button按钮点击,调用JavaScript方法,但是form.submit方法死活不响应,最后恍然大悟... <%@ page language="java" contentType="text/html; charset=GB2312"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DT

JSP在tomcat服务器下无法连接MySql问题解决方法

我连的是MySQL数据库,但是在服务器下运行jsp文件时会出现如下的状况: 控制台报错:com.mysql.jdbc.Driver  即不能找到驱动程序,通过我的一次次试验,终于得到解决 首先我的代码编写是没有问题的,而且我已经在eclipse下的jar库中导入了jdbc驱动文件。直接运行java应用程序   运行java应用程序,结果如图所示,成功连接上数据库并打印输出了teach

利用关系感知一致性和虚拟特征补偿解决医学分类中的长尾问题

文章目录 Combat Long-Tails in Medical Classification with Relation-Aware Consistency and Virtual Features Compensation摘要方法实验结果 Combat Long-Tails in Medical Classification with Relation-Aware Cons