题意是这种,有一堆蚂蚁在一根棍子上乱爬。速度都是一样的,假设它们撞到了一起就会朝反方向爬去。

把棍子长度告诉你。还有蚂蚁的数量以及它们某时的距离棍子左端的距离。要求全部蚂蚁都掉到棍子以下去

的最小可能时间和最大可能时间。

我是这样做的。

暴力就能够了。

话说,蚂蚁相撞就反过头爬,跟相撞之后继续往前爬的效果是一样的,于是乎就当做蚂蚁都是在一根独立的棍子上

自己爬自己的路好了。

无论是最小时间还是最大时间的,都是由某仅仅距离棍子左端或右端最远的蚂蚁决定。

把它找出来就好了。

我找它的方法是在读入蚂蚁位置的时候,推断每仅仅蚂蚁距离左端和右端的距离。

选择最小的那个距离作为每仅仅蚂蚁的距离,再选择这些距离中最大的那仅仅蚂蚁就是要找的那仅仅蚂蚁了,它决定了最小时间。

同理,选择最大的那个距离作为每仅仅蚂蚁的距离。再选择这些距离中最大的那仅仅蚂蚁就是要找的那仅仅蚂蚁了,它决定了最大时间。

我的AC代码例如以下:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int exp,len,num,ant,mi,ma;
scanf("%d",&exp);
while(exp--)
{
mi=ma=-1;
scanf("%d%d",&len,&num);
while(num--)
{
scanf("%d",&ant);
mi=max(mi,min(ant,len-ant));
ma=max(ma,max(ant,len-ant));
}
printf("%d %d\n",mi,ma);
}
}

poj1852ant的更多相关文章

随机推荐

  1. Python中的排序方法

    1 list.sort list.sort(key=None, reverse=False) 该方法只能用于list.就地排序,原来的list被修改.key的用法见下文.reverse控制降序还是生序 ...

  2. JAVA基础——集合浅析

    Java  集合      数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得数组这东西没法满足需求了,这时一位“前辈” ...

  3. 爬虫之Requests库

    官方文档:http://cn.python-requests.org/zh_CN/latest/ 一.引子 import requests resp = requests.get("http ...

  4. Python学习第二阶段,day1, 装饰器,生成器,迭代器

    装饰器 不得不说,这是对初学者最难以理解的概念了,虽然我学过面向对象,但还是被搞懵逼了..前面还好理解,主要是后面“装饰器的装饰器”我理解不了.装饰器工厂,根据传入的参数不同去返回不同的装饰器,我不得 ...

  5. 55.fielddata内存控制以及circuit breaker断路器

    课程大纲 fielddata加载 fielddata内存限制 监控fielddata内存使用 circuit breaker 一.fielddata加载 fielddata加载到内存的过程是lazy加 ...

  6. web视频播放插件:Video For Everybody

    相比其它的web视频播放插件(video.js , jwplayer等)来说,Video For Everybody(极力推荐)是一款更好的视频播放插件,无需任何下载,支持html5以及flash播放 ...

  7. django中配置允许跨域请求

    对于django 安装django-cors-headers,详情请看官方文档 pip install django-cors-headers 配置settings.py文件 a.在INSTALLED ...

  8. LES on MCT

  9. circumferential averaged streamwise velocity in ParaView

    Goal: get a averaged axial velocity in a circular loop (dashed line in the following figure) Steps: ...

  10. log4j.properties配置内容的理解

    一直知道log4j是用来记录日志的,但一直没去看log4j到底是怎么用的,这两天看了几个log4j.properties配置语句详解的帖子,在这里简陋地记录一下. 在完全不知道log4j怎么用的时候, ...