zoukankan      html  css  js  c++  java
  • 蓝桥杯- 移动距离-java

    /* (程序头部注释开始)

    * 程序的版权和版本声明部分

    * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 

    * All rights reserved.

    * 文件名称: 蓝桥杯赛题                           

    * 作    者:   彭俊豪               

    * 完成日期:   2016   年 04月 01日

    * 版 本 号:      001   

    * 对任务及求解方法的描述部分

    * 问题描述:

    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 Main {

      public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int w = sc.nextInt();
        int m = sc.nextInt();
        int n = sc.nextInt();
        f(w, m, n);
      }
      public static void f(int w,int m,int n){
        int sum1;
        int sum2;
        int sum3;
        if (m<w) {
          if(m<=w/2){
            sum1 = m;
          }else {
            sum1 = w-m;
          }
        }else if(m%w==0) {
          sum1 = 1;
        }else {
          if (m%w>=w/2) {
            sum1 = w-m%w+1;
          }else {
            sum1 = (m-m/w*w);
          }
        }


        if (n<w) {
          if(n<=w/2){
            sum2 = n;
          }else {
            sum2 = w-n;
          }
        }else if(n%w==0) {
          sum2 = 1;
        }else {
          if (n%w>=w/2) {
            sum2 = w-n%w+1;
          }else {
            sum2 = (n-n/w*w);
          }
        }

        if (n/w==m/w) {
          sum3 = 0;
        }else {
          sum3 = Math.abs(n-m)/w-1;
        }

        System.out.println(sum1+sum2+sum3);

      }

    }

  • 相关阅读:
    Luogu 三国游戏
    牛客练习赛60E
    cf1321E
    cf988D
    cf1089F
    cf1055C
    cf997B
    cf1033D
    cf1062D
    cf1081E
  • 原文地址:https://www.cnblogs.com/pengjunhao/p/6674096.html
Copyright © 2011-2022 走看看