题目链接:题目
1266 蚂蚁
题目来源: Poj
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:2级算法题 收藏 关注
n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。

例如:竿子长10cm,3只蚂蚁位置为2 6 7,最短需要4秒(左、右、右),最长需要8秒(右、右、右)。
Input
第1行:2个整数N和L,N为蚂蚁的数量,L为杆子的长度(1 <= L <= 10^9, 1 <= N <= 50000)
第2 - N + 1行:每行一个整数A[i],表示蚂蚁的位置(0 < A[i] < L)
Output
输出2个数,中间用空格分隔,分别表示最短时间和最长时间。
Input示例
3 10
2
6
7
Output示例
4 8

思路:
最长时间比较好求,最左边的向右走,最右边的向左走,两者取较大值即可。
最短时间呢,要根据竿子的中间长度来判断,如果竿子长度是偶数,那么竿子中间的可以左走,也可以右走,竿子长度一半的时间就可以全部走完,就是最短时间,如果正中间没有蚂蚁,左边的向左走,右边的向右走,两边最靠近中点的两个之中的较大者就是全部走完所需要的最短时间。
杆子长度是奇数时,思路也是一样的,如果竿子的一半长度(除法向下取整)处有,那么向左走,总长度除以2向上取整的位置处向右走,长度除以2向下取整的时间内也是可以全部走完的,中间没有两边的取较大者。

代码如下:

#include<cstdio>
#include<algorithm>
using namespace std;
int len[50000+11];
int main()
{int n,l;while(~scanf("%d%d",&n,&l)){for(int i=0;i<n;i++)scanf("%d",&len[i]);sort(len,len+n);int maxn=max(l-len[0],len[n-1]);int minn;for(int i=0;i<n;i++){if(len[i]<l/2)continue;else if(len[i]==l/2){minn=len[i];break;}else{minn=max(len[i-1],l-len[i]);break;}}printf("%d %d\n",minn,maxn);}return 0;
}

【51nod】---蚂蚁(模拟)相关推荐

  1. [蓝桥杯][2014年第五届真题]兰顿蚂蚁-模拟

    题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左 ...

  2. 历届试题 兰顿蚂蚁 (模拟)

    题目: 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左右 ...

  3. 51nod CSP-S模拟赛 松鼠大作战【倍增】

    题目大意 给定一棵 nnn 个节点的树,树根为 111 ,节点编号 111 到 nnn .树上每个点都有一个权值 aia_iai​ 从一个点 uuu 开始,只能向上走,直到点 vvv 为止(保证 vv ...

  4. 合影效果java_【蚂蚁课堂】四十三:如何拍酷炫集体照?

    原标题:[蚂蚁课堂]四十三:如何拍酷炫集体照? 作者 | 蚂蚁MaE 编辑 | 萌仔 大家出去玩或者聚会的时候会经常拍合影,但多数人拍出的效果真心不敢恭维. 蚂蚁随手翻了一下同学的QQ空间,发现了这种 ...

  5. 地下蚁国EotU for Mac/win(模拟建设类游戏)

    地下蚁国是一款RTS策略游戏,玩家需要控制蚁群来消灭别的昆虫部落,本作的画面比较写实,有大量的密集场景.地下蚁国(Empires of the Undergrowth)是由Slug Disco Stu ...

  6. 蓝桥杯---历届真题 题解

    试题编号 题解 问题描述 PREV-55 小计算器 模拟 PREV-54 合根植物 并查集 PREV-53 分考场 回溯 PREV-52 小数第n位 数学 PREV-51 观光铁路 PREV-50 对 ...

  7. 2014年第五届蓝桥杯省赛试题及详解(Java本科A组)

    蓝桥杯历年真题题目及题解目录汇总  结果填空 (满分2分) 结果填空 (满分6分) 结果填空 (满分7分) 代码填空 (满分4分) 代码填空 (满分12分) 结果填空 (满分12分) 结果填空 (满分 ...

  8. java兰顿蚂蚁解题思路_程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟)

    1. 题目 一只蚂蚁坐在由白色和黑色方格构成的无限网格上. 开始时,网格全白,蚂蚁面向右侧. 每行走一步,蚂蚁执行以下操作. (1) 如果在白色方格上,则翻转方格的颜色,向右(顺时针)转 90 度,并 ...

  9. [蓝桥杯][历届试题]蚂蚁感冒(模拟)

    题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

最新文章

  1. wordpress php 7 速度优化,WordPress优化提速必做的6种操作代码篇
  2. 搭建php帮助中心,帮助中心
  3. mac nginx 非brew安装_Mac下使用Home Brew安装Nginx
  4. python自学攻略-Python自学攻略
  5. Linux下用户管理
  6. 排序二叉树BST(binary search/sort tree)
  7. java、python什么意思_Python为什么叫Python,Java又如何而来?
  8. System.load(String filename)和System.loadLibrary(String libname)的区别
  9. IOS开发之MVC模式的介绍
  10. C++STL-priority_queue
  11. Java基础之Maven
  12. java m查询_信息查询系统,基于SSM框架的JAVA系统
  13. EL表达式+JSTL,forEach的两种用法
  14. 苹果绕id工具_绕ID教程(iOS13.313.3.1)
  15. AppFabric 使用
  16. java和美利达_JAVA、GIANT、MERIDA、UCC四大厂商破风铝架横评
  17. 数理逻辑(一):逻辑学初步
  18. 伪指令dd 和 操作符dup
  19. Java学习--多线程案例--模拟火车票销售(线程安全问题)
  20. 快速复制文件,提高复制文件的速度

热门文章

  1. Python参考手册(转)
  2. 网动仪预警全球网络波动?!来看看是怎么做到的!
  3. (java)IO流对象(六)集合Properties类、序列化流、反序列化流、打印流
  4. Knewton适应性学习
  5. 【电源专题】案例:为啥USB口带个0.5A的负载,电压能跌落到4.65V?
  6. 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
  7. 自动驾驶轨迹预测任务浅述
  8. 学习QCustomPlot【4】库官方examples之plots解读
  9. 国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义
  10. Stooge-sort