zoukankan      html  css  js  c++  java
  • X星球居民小区的楼房全是一样的...

    每周一题之3 

    [问题描述]

     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

     */

     解法: 根据题目要求,首先想到的就是打表

    package december.year18;
    
    import java.util.Scanner;
    
    public class Solution4 {
        
        public static void main(String[] args) {
            Scanner input =new Scanner(System.in);
            int w=input.nextInt();
            int m=input.nextInt();
            int n=input.nextInt();
            int [][] maps=new int[10001][w];
            for (int i = 0; i < w; i++) {
                maps[0][i]=i+1;
            }
            
            int maxn=Math.max(m, n);
            int len=maxn/w+1;
            System.out.println(len);
            int temp=0;
            for (int i = 0; i <len ; i++) {
                if(i%2==0) {
                    int bei=(i+2)*w;
                    for (int j = 0; j <w ; j++) {
                        maps[i+1][j]=bei-j;
                    }
                    temp=bei;
                }else {
                    for (int j = 0; j <w ; j++) {
                        maps[i+1][j]=temp+j+1;
                    }
                    
                }
            }
            int x1 = 0,y1 = 0,x2 = 0,y2 = 0;
            for (int i = 0; i < len; i++) {
                for (int j = 0; j < w; j++) {
                    if(maps[i][j]==n) {
                        x1=i;y1=j;
                    }else if(maps[i][j]==m) {
                        x2=i;y2=j;
                    }
                }
            }
            System.out.println(Math.abs((x2-x1)+y2-y1));
        }
    
    }
  • 相关阅读:
    Jersey Politics
    网络流——最小费用最大流
    网络流——最大流Dinic算法
    【洛谷2756】飞行员配对方案问题(二分图匹配,网络流24题)
    状压dp入门
    2018九江市赛
    [CQOI2007]余数求和
    CSAPC2008 skyline
    [ZJOI2009]函数 题解
    由不定方程想到的——数论选讲
  • 原文地址:https://www.cnblogs.com/dgwblog/p/10128814.html
Copyright © 2011-2022 走看看