【纯水题】POJ 1852 Ants
题目大意
有一根长\(L\)厘米米的水平木棍上有\(n\)个蚂蚁,它们以每秒1cm/s的爬(fei)行(ben)到木棍的一端,之后掉下去。
给出每个蚂蚁的起始位置,但是不知道它们爬行的方向。相向而行的两只蚂蚁相遇后,它们都会掉头往反方向走。
求所有蚂蚁都落下木棍的最大时间和最小时间。
输入格式
先给出数据组数\(T\)。
每组第一行给出木棍长度\(L\)和蚂蚁数量\(n\)(\(1\le n\le 1000000\))。
第二行给出每个蚂蚁距离木棍左端\(x\)米。
样例输入
2
10 3
2 6 7
214 7
11 12 7 13 176 23 191
样例输出
4 8
38 207
思路
谢谢,有被水到
每个蚂蚁有从左和从右两种情况,不过相遇会掉头。
但是所有蚂蚁都是同时出发,而且长得都一样(雾),所以掉头前后的情况是没有区别的。
所以根本不用考虑掉头的情况,直接找每个蚂蚁按原路都掉下去的时间就可以了。
代码
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int maxn=1e6+10;
const int INF=0x3f3f3f3f;
int l,n;
int a[maxn];
int getmin(){
int minans=-INF;
for(int i=1;i<=n;i++){
int mintemp=min(a[i],l-a[i]);
minans=max(minans,mintemp);//不要手残写成min函数
}
return minans;
}
int getmax(){
int maxans=-INF;
for(int i=1;i<=n;i++){
int maxtemp=max(a[i],l-a[i]);
maxans=max(maxans,maxtemp);
}
return maxans;
}
int main(){
int T;
scanf("%d",&T);
while(T--){
memset(a,0,sizeof(a));
scanf("%d%d",&l,&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
printf("%d %d\n",getmin(),getmax());
}
return 0;
}
【纯水题】POJ 1852 Ants的更多相关文章
- POJ 1852 Ants || UVA 10881 - Piotr's Ants 经典的蚂蚁问题
两题很有趣挺经典的蚂蚁问题. 1.n只蚂蚁以1cm/s的速度在长为L的竿上爬行,当蚂蚁爬到竿子的端点就会掉落.当两只蚂蚁相撞时,只能各自反向爬回去.对于每只蚂蚁,给出距离左端的距离xi,但不知道它的朝 ...
- POJ 1852 Ants(贪心)
POJ 1852 Ants 题目大意 有n只蚂蚁在木棍上爬行,每只蚂蚁的速度都是每秒1单位长度,现在给你所有蚂蚁初始的位置(蚂蚁运动方向未定),蚂蚁相遇会掉头反向运动,让你求出所有蚂蚁都·掉下木棍的最 ...
- poj 1852 ants 题解《挑战程序设计竞赛》
地址 http://poj.org/problem?id=1852 题目描述 Description An army of ants walk on a horizontal pole of len ...
- 【弹性碰撞问题】POJ 1852 Ants
Description An army of ants walk on a horizontal pole of length l cm, each with a constant speed of ...
- POJ 1852 Ants
题目的意思是说一个长度为m的杆,上面有n个蚂蚁,告诉每个蚂蚁的初始位置,每个蚂蚁速度都是一样的,问所有的蚂蚁离开杆的最短和最长时间是多少. 模拟题,所有的蚂蚁看成一样的,可以这样理解,即使相撞按反方向 ...
- POJ 1852 Ants (等价思考)
题意:在一根杆上有 n 只蚂蚁,速度为1,方向不定,如果相碰,则反向运动,问你最长的时间和最短时间,所有蚂蚁都掉下杆去. 析:换个方法想,如果两只蚂蚁相碰了,会有什么现象?其实就和没有碰撞是一样的,没 ...
- POJ 1852 Ants O(n)
题目: 思路:蚂蚁相碰和不相碰的情况是一样的,相当于交换位置继续走. 代码: #include <iostream> #include <cstdio> #include &l ...
- poj 1852&3684 题解
poj 1852 3684 这两题思路相似就放在一起. 1852 题意 一块长为L长度单位的板子(从0开始)上有很多只蚂蚁,给出它们的位置,它们的方向不确定,速度为每秒一长度单位,当两只蚂蚁相遇的时候 ...
- Ants (POJ 1852)
题目描述: Description An army of ants walk on a horizontal pole of length l cm, each with a constant spe ...
随机推荐
- CSS 简介,学习 CSS 必看
CSS 表示的是层叠样式表,学习 CSS 之前我们必须要掌握 HTML 和 XHTML 概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 ...
- Catalina 动态壁纸相关设置
关闭SIP 重启,在开机时一直按Command+r进入recovery模式. 打开终端,如图所示: 在终端中输入命令,回车: csrutil disable 然后重启 设置动态壁纸 首先需在Dynam ...
- Linux实战(7):centos7安装xrdp
系统环境:最小化安装,无安装桌面化 操作 yum更新 yum -y update 安装依赖. tigervnc-server.xrdp .GNOME Desktop yum -y install ep ...
- zabbix邮件报警设置(加密)
邮件设置如下 端口号选择465
- 智慧出行--maas
未来智慧出行新生态——MaaS系统的解读与畅想 -城市交通:观察与思考 - 未来智慧出行新生态——MaaS系统的解读与畅想 在货运领域,有一种承运方式叫“多式联运”,它是由承运人与货主签订一份货运合同 ...
- Netty中的一些注意事项--底层基础
转载自http://www.mamicode.com/info-detail-1215305.html 最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty.在使用过程中一边优化 ...
- 基于Prometheus网关的监控完整实现参考
prometheus 是一个非常好的监控组件,尤其是其与grafana配合之后,更是如虎添翼.而prometheus的监控有两种实现方式.1. server端主动拉取应用监控数据:2. 主动推送监控数 ...
- VMware-workstation-full-安装教程
网盘提取 图1中的包 链接:https://pan.baidu.com/s/11BnY2_v9cDfP1SXPoqOUWQ 提取码:jhfa (1) 点击Vware-workstation-full ...
- Spring Boot学习(四)常用注解
一.注解对照表 注解 使用位置 作用 @Controller 类名上方 声明此类是一个SpringMVC Controller 对象,处理http请求 @RequestMapping 类或方 ...
- Java Web学习(三)数据加密方式详解
一.对称加密 定义:加密和解密使用相同密钥的算法. 常见的有DES.3DES.AES.PBE等加密算法,这几种算法安全性依次是逐渐增强的. DES加密 特点:简便.密钥长度比较短. import ja ...