题目大意:一个蚂蚁群在一个杆子上爬,爬到杆子的末端时就会掉落,如果两只蚂蚁碰面,那么两只蚂蚁会反向走,问所有蚂蚁掉落的最短时间和最长时间。我们已知杆子的长度和蚂蚁的数量和每只蚂蚁的位置(即其距离杆子左端的距离),未知的是蚂蚁的朝向。

思路:每只蚂蚁都有两种朝向的可能,最短时间的话还是很简单的,就是距离哪个端点近,朝向哪边,这样的话也不会存在两只蚂蚁碰头的情况,那么这样的话最短时间就完了。
再看最长时间,这里我们需要换一种思路考虑一下。两只蚂蚁碰头之后反向实际上可以看成两只蚂蚁还是按照原来的方向走,也就是直接调换了两只碰头蚂蚁的位置,这样的话所有的蚂蚁还是不会反向,也就是一直往一个方向走,这样的话最长时间就是距离哪个端点远,就朝向哪边。

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <string>
#include <math.h>
#include <queue>
#include <set>
#include <stack>
#include <vector>#define INF 0x3f3f3f3f
const int MAX = 0x3f3f3f3f;using namespace std;
typedef long long ll;int main()
{int mint,maxt;int n;int a[100005];int len;scanf("%d",&n);while(n--){int m;scanf("%d%d",&len,&m);for(int i=0;i<m;i++)scanf("%d",&a[i]);mint=0;maxt=0;for(int i=0;i<m;i++){mint=max(mint,min(a[i],len-a[i]));maxt=max(maxt,max(a[i],len-a[i]));}printf("%d %d\n",mint,maxt);}return 0;
}

Ants(POJ 1852)相关推荐

  1. Ants (POJNo.1852)--数据结构与算法刷题记录

    数据结构与算法刷题记录1 时间:4.28 这是第一次用CSDN来记录自己的学习成果,在此留下纪念,希望自己能够坚持下去,变得更强. 本次学习记录来源于<挑战程序设计竞赛(第2版)> Ant ...

  2. poj 1852 Ants

    题目:http://poj.org/problem?id=1852 本题如果从常规的思想出发去解决问题是比较复杂的,而且时间复杂度会比较高,极有可能超时,但本书给出了一个非常巧妙的解法,程序简单易懂, ...

  3. POJ 1852 Ants 分析

    1.暴搜 每只蚂蚁朝向有两种,可以枚举n只蚂蚁的朝向,然后模拟蚂蚁相遇的情景,总共2^n中情况. 2.分析ants相碰的情况: (a->)  (<-b) 变成 (<-a)(b-> ...

  4. 【题解】POJ 1852 Ants(搜索)

    POJ1852 Ants 目录 POJ1852 Ants 原题 题意 题解 原题 An army of ants walk on a horizontal pole of length l cm, e ...

  5. 水题/poj 1852 Ants

    1 /* 2 PROBLEM:poj1852 3 AUTHER:Nicole 4 MEMO:水题 5 */ 6 #include<cstdio> 7 using namespace std ...

  6. POJ 1852 Ants O(n)

    题目: 思路:蚂蚁相碰和不相碰的情况是一样的,相当于交换位置继续走. 代码: #include <iostream> #include <cstdio> #include &l ...

  7. 【ACM】POJ 1852

    [问题描述] 一队蚂蚁在一根水平杆上行走,每只蚂蚁固定速度 1cm/s. 当一只蚂蚁走到杆的尽头时,立即从秆上掉落. 当两只蚂蚁相遇时它们会掉头向相反的方向前进. 我们知道每只蚂蚁在杆上的初始位置, ...

  8. poj 1852 Ants_贪心

    题目大意:很多的蚂蚁都在长度为L(cm)的膀子上爬行,它们的速度都是1cm/s,到了棒子终端的时候,蚂蚁就会掉下去.如果在爬行途中遇到其他蚂蚁,两只蚂蚁的方向都会逆转.已知蚂蚁在棒子的最初位置坐标,但 ...

  9. POJ 1852 蚂蚁问题

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

最新文章

  1. input限制文字个数但是输入中文时会被切断_Python文字转换语音,让你的文字会「说话」抠脚大汉秒变撒娇萌妹...
  2. Matlab中plot函数全功能解析
  3. 二进制安装mysql5.6_轻松使用二进制安装Mysql5.6
  4. 逐鹿东南亚,Lazada增长飞轮再加速
  5. 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法
  6. C语言 指针与字符串
  7. 前端工程化(Vue-cli3和Element-ui)
  8. React+Webpack+Webstorm开发环境搭建
  9. [置顶] C#中给Label控件设置BackgroundImage属性
  10. BOBSLEDDING(一道有趣的贪心题 nyoj309)
  11. 阵列信号处理 窄带信号与包络
  12. webpack中swipe的安装和使用
  13. linux无法访问移动硬盘,移动硬盘“无法访问”的解决方案
  14. ctf piapiapia(反序列化逃逸)解题记录
  15. 如何通过阅读改变思维方式
  16. pb导入excel文件
  17. 模拟重力场(多方向运动+碰撞检测+重力加速度+能量损失)
  18. R语言——(六)、线性回归模型
  19. 教育培训python
  20. 密码的修改(首先获取该用户的id,原密码判断是否一致,新密码和再次输入密码判断是否一样)...

热门文章

  1. 根据父母的身高预测儿子的身高
  2. 手机关机代码_华为手机电池不耐用?只需在拨号键中输入一串代码,续航能力暴涨...
  3. SQL学习笔记——task05:SQL高级处理
  4. 【计算机英语】学习从现在开始,行动起来
  5. 如何学习AUTOSAR
  6. DA14580软件开发平台参考(三)
  7. 使用360安全卫士实现应用程序不联网及删除右键菜单等
  8. 浅谈穿越机飞控如何烧写固件及其相关设置问题
  9. dpresult在python中什么意思_动态规划(DP)的整理-Python描述
  10. matlab正交gold码的相关性,基于Matlab的CDMA通信系统仿真