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

有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。

输入描述:
第一行为一个整数n(n ≤ 1000),表示超超一共拥有n个陷阱。
第二行有n个整数xi,表示第i个陷阱的横坐标
第三行有n个整数yi,表示第i个陷阱的纵坐标
保证坐标都在草地范围内。
输出描述:
输出一个整数,表示小易最少可能多少秒就落入超超的陷阱
输入例子:
3
4 6 8
1 2 1
输出例子:
3找陷阱和目标之间的最短距离最小的dx-1+dy-1(dx和dy为陷阱的坐标)
#include<iostream>
using namespace std;
const int N=1000;

int dx[N],dy[N];
int n;
int min(int a,int b)
 {
    return a>b?b:a;
}
int main()
    {
    while(scanf("%d",&n)>0)
   {
        int mn=2000;
        for(int i=0;i<n;i++)
         {

            scanf("%d",&dx[i]);

        }
        for(int i=0;i<n;i++)
        {
            scanf("%d",&dy[i]);
            mn=min(mn,dx[i]-1+dy[i]-1);
        }
        cout<<mn<<endl;
    }
}
时间: 2024-08-09 21:58:58

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

牛吃草问题

如图所示,一块正方形草地被分为完全相同的四块以及中间的阴影部分.已知草一开始是均匀分布,且以恒定的速度均匀生长.但如果某块地上的草被吃光,就不再生长(因为草根也被吃掉了).老农先带着一群牛在1号草速度均匀生长.但如果某块地上的草被吃光,就不再生长(因为草根也被吃掉了).老农先带着一群牛在1号草地上吃草,两天后把1号草地上的草全部吃完(这期间其他的草地的草正常生长).之后他让一半牛在2号草地上吃草,另一半在3号草地上吃草,结果又过了6天,这两个草地上的草也全部吃完.最后,老农把3/5的牛放在阴影草

微信小程序-B站:wxml和wxss文件

WXML WXML(WeiXin Markup Language)是微信的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. (小安娜:好像很厉害的样子,那基础组件.事件系统是什么?感觉更厉害,因为必须结合它们.),基础组件类似HTML中的标签,事件系统是JavaScript中的事件,可处理逻辑反应到界面上:wxml只是一个文件格式,如果没有组件和事件它没任何用处,又如果把组件.事件写在txt文档里面也没任何用处,所以没有谁更厉害,相辅相成的关系.(小安娜:嗦嘎,就好像ap.ad.ad

BZOJ 1742: [Usaco2005 nov]Grazing on the Run 边跑边吃草( dp )

dp... -------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #define rep( i , n ) for( int i = 0 ; i < n ; ++i ) #define clr( x , c ) memset( x ,

[转载] 在java中为什么变量1000 = 1000 返回false,但是100=100返回true?

ps:题目的意思是指定义相同内容的不同变量之间的==比较.如果直接比较(1000 == 1000)的结果是true. 运行以下代码: Integer a = 1000, b = 1000; System.out.println(a == b); Integer c = 100, d = 100; System.out.println(c == d); 结果是: false true 我们知道,如果两个引用指向不同的对象,即使对象拥有相同的内容时,他们用==比较的结果就是不相等(返回false).

狼为什么被逼去吃草?

有一天,狮子让一只豹子管理10只狼,并给他们分发食物.豹子领到肉之后,把肉平均分成了11份,自己要了一份,其他给了10只狼. 这10只狼都感觉自己分的少,合起伙来跟豹子唱对台戏.虽然一只狼打不过豹子,但10只狼豹子却没法应付了.豹子灰溜溜的找狮子辞职.狮子说:今后,看我的! 第二天,狮子把肉分成了11份,大小不一,自己先挑了最大的一份,然后傲然对其他狼说:你们自己讨论怎么分这些肉. 为了争夺到大点的肉块,狼群沸腾了,恶狠狠的互相攻击,全然不顾自己连平均的那点肉都没拿到.豹子钦佩的问狮子,这是什么

bzoj1742[Usaco2005 nov]Grazing on the Run 边跑边吃草*&amp;&amp;bzoj3074[Usaco2013 Mar]The Cow Run*

bzoj1742[Usaco2005 nov]Grazing on the Run 边跑边吃草 bzoj3074[Usaco2013 Mar]The Cow Run 题意: 数轴上有n棵草,牛初始在L位置(bzoj3074的牛初始在1位置),每移动一个单位需要+1s.而每过1s没吃的草腐败度会+1,问吃完所有草的最小腐败度.n≤1000. 题解: 很神的dp.f[l][r][0/1]表示从第l棵草吃到第r棵草,之后到达l/r.则 f[l][r][0]=min(dfs(l+1,r,0)+(n-r+

为什么Java中1000==1000为false而100==100为true?

为什么Java中1000==1000为false而100==100为true? 这是一个挺有意思的讨论话题. 如果你运行下面的代码: 基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的.如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同. 因此,后面一条语句也应该是false . 这就是它有趣的地方了.如果你看去看 Integer.Java 类,你会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象.

excel 作图中次横坐标及次纵坐标的调试,以及excel自定义轴标签的步骤方法

在工作中除了要做一些常用的图表之外,不时还会有一切奇怪图表的制作需求. 今天的内容主要记录的是如何对excle图表的次横坐标及次纵坐标进行调试,以及如何自定义调整轴标签 首先看下如何做次纵坐标,工作中总有两个相关数据但是单位不一致或数量级不一致的状况,这时候要将两组数据整合到一起就要用到次级纵坐标了. 下图为一组购买数据,要将购买人数及购买金额放在一个表格内 首先选中作图数据,然后插入数据图表 选择插入组合图 然后右键图表,选择更改数据图表类型 然后勾选一个数据为次坐标 更改后的数据表 还有一种

输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)(解决)

输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和.要求时间复杂度为O(n). 输入描述: [重要]第一行为数组的长度N(N>=1) 接下来N行,每行一个数,代表数组的N个元素 输出描述: 最大和的结果 输入例子1: 8 1 -2 3 10 -4 7 2 -5 输出例子1: 18 思路:对输入的数组进行计算, import java.util.Scanner; public class Main { public static void main(String[]