2017网易---解救小易

题目描述

有一片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

题目链接:https://www.nowcoder.com/practice/cd763d8541fc4243b8d3b967bb6d6b6a?tpId=85&tqId=29841&tPage=1&rp=1&ru=/ta/2017test&qru=/ta/2017test/question-ranking

题解:本来开始以为还要用广搜做,但是之后发现原来是数学题,还是比较简单的,注意一下数据输入后的转换存储。
 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStreamReader;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) throws IOException {
 8         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
 9         String line = in.readLine();
10         int n = Integer.parseInt(line);
11         line = in.readLine();
12         String[] xs = line.split(" ");
13         int[] x = new int[n];
14         for(int i = 0; i < n; i++) {
15             x[i] = Integer.parseInt(xs[i]);
16         }
17         line = in.readLine();
18         String[] ys = line.split(" ");
19         int[] y = new int[n];
20         for(int i =0 ; i < n; i++) {
21             y[i] = Integer.parseInt(ys[i]);
22         }
23         int min = Integer.MAX_VALUE;
24         for(int i = 0; i < n; i++) {
25             min = min < (x[i] + y[i] - 2) ? min : (x[i] + y[i] - 2);
26         }
27         System.out.println(min);
28     }
29 
30 }
View Code

 

posted on 2017-12-13 15:20  二十年后20  阅读(178)  评论(0编辑  收藏  举报

导航