【1005】出自附中练习场,其他编号(1005)【难度A】—————————————————————————————————————————————————————————————————————————————————————————————

【题目要求】有一群蚂蚁在一根水平放置的长为L cm的木棍上行走,并且每只蚂蚁的速度都固定为1 cm/s。当一只蚂蚁走到木棍的两端时就不幸地掉落了,当两只蚂蚁相碰时,它们就分别反向行走,并假设忽略相碰的时间。现在我们已知木棍的长度L,蚂蚁的只数N和每只蚂蚁在木棍上的初始位置Ai(以木棍一段为坐标原点0,另一端为木棍长度L),但是蚂蚁可以随机的选择它们的初始行走方向。你的任务是求出在所给定条件下,对蚂蚁行走方向任意的所有情况下,求出所有蚂蚁都从木棍上掉落的最早时间和最晚时间。

【输入要求】第一行两个正整数是L(木棍长度)和N(蚂蚁只数),接着一行是N个正整数Ai(1<=i<=N,0<=Ai<=L)。(1<=L<=1000,1<=N<=1000)

【输出要求】一行包括两个数用一个空格分隔,分别表示最早时间和最晚时间。

【输入示例】

10 3
2 6 7

【输出示例】

4 8

【解析】此题难度很低,但有一点必须理解,就是两只蚂蚁相撞之后什么也没发生,因为蚂蚁并不区分,不同蚂蚁掉下去并不影响结果,所以我们可以加入一些贪心算法:让最靠近某一木棍端点的蚂蚁向对面爬行,就是最晚时间,最早时间就找在中间的蚂蚁,向近的端点爬行。

【代码】

#include<iostream>

using namespace std;

int main()
{
int i,l,n,a[10000],min[10000],e,r;
cin>>l>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n;i++)
{
if(a[i]<=l/2)
min[i]=a[i];
else
min[i]=l-a[i];
}
e=min[0];
for(i=0;i<n;i++)
{
if(min[i]>e)
e=min[i];
}
r=min[0];
for(i=0;i<n;i++)
{
if(min[i]<r)
r=min[i];
}
cout<<e<<" "<<l-r;
//system("pause");
return 0;
}

【注】此题已AC,代码很简单不用解释了吧。

版权所有,转发必须标明出处,否则必须找事。

蚂蚁【A001】的更多相关文章

  1. [ACM_模拟] UVA 10881 Piotr's Ants[蚂蚁移动 数组映射 排序技巧]

    "One thing is for certain: there is no stopping them;the ants will soon be here. And I, for one ...

  2. 01_蚂蚁感冒(第五届蓝桥预赛本科B组第8题 nyoj 990)

    问题来源:第五届蓝桥预赛本科B组第8题 问题描述:有在一条定长(100cm)的直杆上有n(1<n<50)只蚂蚁(每只蚂蚁的起点都不一样),他们都以相同的速度(1cm/s)向左或者向右爬,  ...

  3. [CareerCup] 7.2 Ants on Polygon 多边形上的蚂蚁

    7.2 There are three ants on different vertices of a triangle. What is the probability of collision ( ...

  4. [OpenJudge 3064]坠落的蚂蚁

    [OpenJudge 3064]坠落的蚂蚁 试题描述 一根长度为1米的木棒上有若干只蚂蚁在爬动.它们的速度为每秒一厘米或静止不动,方向只有两种,向左或者向右.如果两只蚂蚁碰头,则它们立即交换速度并继续 ...

  5. 蚂蚁运输(ant)

    蚂蚁运输(ant)Time Limit:5000ms Memory Limit:64MB[题目描述] LYK 在观察一些蚂蚁.蚂蚁想要积攒一些货物来过冬.积攒货物的方法是这样的.对于第i只蚂蚁, 它要 ...

  6. poj蚂蚁问题

    问题描述: n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向 爬回去.对于每只蚂蚁,我们知道它距离竿子左 ...

  7. 【BZOJ 1033】 [ZJOI2008]杀蚂蚁antbuster

    Description 最近,佳佳迷上了一款好玩的小游戏:antbuster.游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右下角是蛋糕,蚂蚁会源源不断地从窝里爬出来,试图把蛋糕搬回蚂蚁窝.而你的任 ...

  8. UVALive 4043 Ants 蚂蚁(二分图最佳完美匹配,KM算法)

    题意: 有n个蚂蚁n棵树,蚂蚁与树要配对,在配对成功的一对之间连一条线段,要求所有线段不能相交.按顺序输出蚂蚁所匹配的树. 思路: 这个题目真是技巧啊,不能用贪心来为每个蚂蚁选择最近的树,这样很可能是 ...

  9. Uva 10881 Piotr’s Ants 蚂蚁

    一根长度为 L 厘米的木棍上有 n 只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为 1 厘米/秒.当两只蚂蚁相撞时,二者同时调头(掉头用的时间忽略不计).给出每只蚂蚁的初始位置和朝向,计算 T 秒之后 ...

随机推荐

  1. IIS7.0配置网站时,提示“ISAPI 和 CGI 限制”

    把网站配置到IIS上的时候,访问网站提示如下错误:  

  2. MVC4过滤器

    MVC4提供的四种基本类型过滤器接口,IAuthorizationFilter.IActionFilter.IResultFilter和IExceptionFilter,可通过继承对应的接口和Filt ...

  3. 点击按钮对两个div的隐藏与显示进行切换

    HTML: <button type="button"  id="showHidden">点击切换div的隐藏与显示</button> ...

  4. EVE ToDo

    1. 打捞无人机 2. 无人机命中

  5. 384. Shuffle an Array

    Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...

  6. Good Bye 2015B(模拟或者二进制枚举)

    B. New Year and Old Property time limit per test 2 seconds memory limit per test 256 megabytes input ...

  7. 1 mysql的安装

    win10 总之前期的步骤大概有:1下载安装:2 安装好后配置环境变量:3:登陆数据库 1:安装 mysql有安装版和直接解压就可以用的,据说大神都是安装的直接解压的,但鉴于自己是小白,就整了个安装版 ...

  8. sql server 常用脚本(日常查询所需)

    1:查看sql server代理中作业的运行状况的脚本 -- descr : a simple sql script to view sql server jobs run status -- las ...

  9. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper

    前面两片文章讲解了通过AIDL和Messenger两种方式实现Android IPC.而本文所讲的并不是第三种IPC方式,而是对前面两种方式进行封装,这样我们就不用直接把Aidl文件,java文件拷贝 ...

  10. 17.观察者模式(Observer Pattern)

    using System; using System.Collections.Generic; namespace ConsoleApplication10 { /// <summary> ...