第六届蓝桥杯JavaA组 第八题 移动距离

来源:互联网 发布:淘宝bug刷话费 编辑:程序博客网 时间:2024/06/05 17:04

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

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

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。

专业水题啦。我是把它放到数组里头,然后算横纵坐标只差的决定值之和,当然也可以直接算,不用数组,我是觉得先赋值好调试。。

import java.util.Scanner;public class _8 {    static Scanner in = new Scanner(System.in);    public static void main(String[] args) {        int n, m, w;        //while(in.hasNext()) {            w = in.nextInt(); n = in.nextInt(); m = in.nextInt();            int[][] num = new int[10000/w+1][w];            int t = 1;            boolean ok = true;            int sx=0, sy=0, ex=0, ey=0;            // 初始化数组            for (int i = 0; i < num.length; i++) {                for (int j = 0; j < w; j++) {                    if(i%2==0) {                        num[i][j] = t++;                    } else num[i][w-1-j] = t++;                    if(t>10000) {                        ok = false; break;                    }                }                if(!ok) break;            }            for (int i = 0; i < num.length; i++) {                for (int j = 0; j < w; j++) {//                  System.out.println();                    if(num[i][j]==n) {                        sx = i; sy = j;                    }                    if(num[i][j]==m) {                        ex = i; ey = j;                    }                }            }//          System.out.println("sx=" +sx +", sy="+sy+", ex="+ex+", ey="+ey);            System.out.println(Math.abs(ex-sx) + Math.abs(ey-sy));        //}    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 外地上成都牌照怎么办 小汽车牌照坏了怎么办 买车上郑州牌照怎么办 汽车前牌照丢失怎么办 有人套我车牌怎么办 在本地怎么办外地车牌 二手车卖了车牌怎么办 科目四预约失败怎么办 车子过户了车牌怎么办 检车没有保险怎么办 异地超速12分怎么办 驾驶证考试过期了怎么办 买了库存车怎么办 车龄长了油耗高怎么办 新车发现补过漆怎么办 魅蓝note3内存不足怎么办 汽车安全检测证怎么办 a证被扣12分怎么办 突发事作后事故单位怎么办 如果遇到突发事故怎么办? 班级遇到突发事故怎么办 高速上出车祸怎么办? 安卓车载中控大屏卡怎么办 车辆交通信息卡怎么办 成都焊工压力容器证怎么办 天车钢丝绳绞住怎么办 受伤了怎么办安全教案 复读后学籍档案怎么办 开车就是开不好怎么办 货车提不了档案怎么办 二手车档案丢了怎么办 车辆档案丢了怎么办 手续跟车都丢了怎么办 二手车无法核档怎么办 高尔夫6天窗漏水怎么办 司机违章辞职了怎么办 年检可以推迟了怎么办? 汽车年审推迟了怎么办 机动车2年年检怎么办 教育局不给退学怎么办 没上火车票丢失怎么办