WY17. 解救小易
描述
有一片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
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2021-02-25
#include <stdio.h> #define MAXN 1005 int n,x[MAXN]; int main() { int i,t,min=0x7fffffff; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",x+i); for(i=0;i<n;i++) { scanf("%d",&t); t += x[i]; if(t<min) min = t; } printf("%d\n",min-2); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2018-08-24
#include<stdio.h> int main() { int n; scanf("%d",&n); int x[n],y[n]; int i=0; for(i=0;i<n;i++) { scanf("%d",&x[i]); } int j=0; for(j=0;j<n;j++) { scanf("%d",&y[j]); } int minpath=(x[0]-1)+(y[0]-1); for( int i=1;i<n;i++) { int min=(x[i]-1)+(y[i]-1); if(minpath>min) minpath=min; } printf("%d",minpath); }