• 牛客网在线编程:解救小易


    题目:

    有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。
    输入描述:
    第一行为一个整数n(n ≤ 1000),表示超超一共拥有n个陷阱。
    第二行有n个整数xi,表示第i个陷阱的横坐标
    第三行有n个整数yi,表示第i个陷阱的纵坐标
    保证坐标都在草地范围内。
    输出描述:
    输出一个整数,表示小易最少可能多少秒就落入超超的陷阱
    示例1
    输入

    3
    4 6 8
    1 2 1
    输出

    3

    思路:

    思路:求给定点到左上角点坐标的距离。
    首先输入陷阱数,然后第二行输入横坐标,第三行输入纵坐标。用两个数组存储。
    分别计算各个陷阱点到坐标原点(1,1)的距离。使用min存储最小值,判断新得到的距离是否为最小
    输出最小值即为要求的值。

     1 import java.util.*;
     2 public class Jiejiuxiaoyi {
     3 
     4     public static void main(String[] args) {
     5         // TODO Auto-generated method stub
     6         int[] x = new int[1000];
     7         int[] y = new int[1000];
     8         Scanner sc = new Scanner(System.in);
     9         int n = sc.nextInt();
    10         for(int i = 0; i<n; i++){
    11             x[i] = sc.nextInt();
    12         }
    13         for(int i = 0; i<n; i++){
    14             y[i] = sc.nextInt();
    15         }
    16         int min = x[0]-1+y[0]-1;
    17         //System.out.println(min);
    18         for(int i = 0; i < n; i++){
    19             int t = x[i]-1+y[i]-1;
    20             if(t<min) min = t;
    21         }
    22         System.out.println(min);
    23     }
    24 
    25 }
  • 相关阅读:
    python 连接 mysql
    apt-get报错could not get lock /var/lib/dpkg/lock -open等
    二叉树两个结点的最低共同父节点
    c++虚函数,纯虚函数,抽象类,覆盖,重载,隐藏
    class的继承,从基类开始
    Vue.js简单记录
    转:MVC,MVP 和 MVVM 的图示
    转:springmvc常用注解标签详解
    《一头扎进SpringMvc视频教程》
    《一头扎进SpringMvc视频教程》Rest风格的资源URL
  • 原文地址:https://www.cnblogs.com/zlz099/p/8514922.html
Copyright © 2020-2023  润新知