【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. java”伪“批量上传

    jsp页面代码 <form method="post" action="" enctype="multipart/form-data" ...

  2. poj1611(并查集)

    题目链接:http://poj.org/problem?id=1611 题意: SARS(非典型肺炎)传播得非常厉害,其中最有效的办法是隔离那些患病.和患病者接触的人.现在有几个学习小组,每小组有几个 ...

  3. NYOJ题目1048破门锁

  4. jQuery学习笔记---兄弟元素、子元素和父元素的获取

    我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...

  5. SpringMVC @RequestBody问题:Unrecognized field , not marked as ignorable

    http://blog.csdn.net/isea533/article/details/33397735

  6. C#值类型与引用类型

    值类型(Value Type),值类型实例通常分配在线程的堆栈(stack)上,并且不包含任何指向实例数据的指针,因为变量本身就包含了其实例数据.其在MSDN的定义为值类型直接包含它们的数据,值类型的 ...

  7. 通过url获取图片尺寸的几种方法:JS和php

    首先是js的方法,通过new一个Image对象,设置src属性,并监听complete和onload事件,图片加载完成后输出图片的宽度和高度 function checkPicurl(url){ va ...

  8. Filp Game

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25573   Accepted: 11052 题目链接: ...

  9. 算法系列:HMM

    隐马尔可夫(HMM)好讲,简单易懂不好讲. 用最经典的例子,掷骰子.假设我手里有三个不同的骰子.第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1 ...

  10. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...