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

题目:

有一片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 }
原文地址:https://www.cnblogs.com/zlz099/p/8514922.html