题目大意:一个长度为l的板上,分布着许多的蚂蚁,每只蚂蚁的位置都会给出但是方向不缺定,如果两只蚂蚁碰上了,就会朝各自相反的方向前进。问这样所有的蚂蚁都跌落木板的最短时间和最长时间。

解题思路:最短时间的话就是每只蚂蚁都朝着各自离两端最近的方向前进,最后取这些最近的位置的最大值,就是最短时间。这样的话两只蚂蚁是不会碰到的,因为某只蚂蚁的前方那只蚂蚁要么和这只同向,要么反向;后面的蚂蚁也是一样的情况。所以不会碰到。

最长的时间的话,其实就是离两端的其中一端最远的那只蚂蚁花费的时间。这里虽说两只蚂蚁可能会碰到,但是两只蚂蚁碰到的话就朝着相反的方向前进,这样的话就相当与和它碰头的那只蚂蚁帮它走完它本来要走的路,相当于接力。(可以会经历这样的接力很多次,但是最终还是走了离两端最远的那只蚂蚁要走的距离,只是接力的走完)。

代码:

#include

const int N = 1000005;

int s[N];

int max (const int x, const int y) {

return x > y ? x : y;

}

int min (const int x, const int y) {

return x < y ? x: y;

}

int main () {

int t;

int l, n;

scanf ("%d", &t);

while (t--) {

scanf ("%d%d", &l, &n);

for (int i = 0; i < n; i++)

scanf ("%d", &s[i]);

int minlen, maxlen;

minlen = maxlen = -1;

for (int i = 0; i < n; i++) {

minlen = max (minlen, min (s[i], l - s[i]));

maxlen = max (maxlen, max (s[i], l - s[i]));

}

printf ("%d %d\n", minlen, maxlen);

}

return 0;

}

原文:http://blog.csdn.net/u012997373/article/details/36631823

ants c语言 思路,10714 - Ants(贪心)相关推荐

  1. 用c语言实现田忌赛马(贪心算法)

    用C语言实现田忌赛马(贪心算法) *首先,我们来回顾一下田忌赛马的题目. **题目描述] "田忌赛马"是历史上有名的揭示如何善用自己的长处去对付对手的短处,从而在竞技中获胜的事例. ...

  2. 【ANTs】医学影像处理工具ANTs安装教程 - 快速安装,即插即用,无需编译

    [ANTs]医学影像处理工具ANTs - 即插即用的安装教程,无需编译 ANTs(Advanced Normalization Tools)是一个用于处理医学图像的先进工具集.ANTs 允许人们组织. ...

  3. UVA 10714 - Ants

    这道题是要我们找出所有蚂蚁中最靠近端点和最靠近中间的蚂蚁所在的位置,计算端点的蚂蚁爬到另一个 端点的时间和计算靠近中间的蚂蚁爬到离他近的端点的时间.我们只需分输入的位置在棒的左边还是右边 来讨论就行. ...

  4. UVA 10714 Ants

    UVA_10714 两个蚂蚁碰撞后反向和两个蚂蚁擦身而过继续前行是等价的. #include<stdio.h>#include<string.h>int main(){int ...

  5. 嵌入式必会!C语言最常用的贪心算法就这么被攻略了

    01 基本概念 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的 ...

  6. lru调度算法例题_嵌入式必会!C语言最常用的贪心算法就这么被攻略了

    01 基本概念 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的 ...

  7. C语言-思路与编程1

    1.根据输入字符的ASCII码来判别字符的类别. (1)写出上述编程思路. (2)根据(1)思路编程序. 答: (1)由ASCII码表可知ASCII值小于32的为控制字符,在"0" ...

  8. 黑白子交换c语言思路,递归 算法思路和优化和简单实现: 黑白子交换

    题目和原解法 原文用py和循环15步完成, 其实这个比较简单, 没啥可玩的, 重点在于思路 状态由三个, 不能使用位运算, 但是可以使用十进制的每个位 首先用数组表示实属有点浪费, 哪怕是字符串呢, ...

  9. 图着色问题贪心算法c语言,区间图着色问题(贪心算法)C++实现

    区间图着色问题 问题描述:假设要用很多个教室对一组活动进行调度.我们希望使用尽可能少的教室来调度所有活动.请给出一个算法,来确定哪一个活动使用哪一间教室. 这个问题也被称为区间图着色问题,即相容的活动 ...

最新文章

  1. MVC3 基本业务开发框架(强转)
  2. 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!
  3. OpenCV平滑图像Smoothing Images
  4. 热释电传感器三个引脚_Adafruit的树莓派教程:热释电传感器感知运动
  5. MySQL 19个规则数据库设计总结
  6. AntDesignPro一次添加多条数据的表单字数限制,并且把input框变为可变文本框
  7. JS-概述-基本语法-变量-数据类型
  8. vs2005手机开发环境的配置
  9. datagrip连接oracle
  10. css srcset,研究一下响应式图片加载属性srcset和sizes_html/css_WEB-ITnose
  11. 对话海星区块创始团队,打造区块链媒体明日之星
  12. 有公网IP内网穿透配置
  13. linux清理根目录下的垃圾,Linux 根目录满了解决方法
  14. ORACLE安装入门篇OEL5.4安装ORACLE11g
  15. django2.2-视图层详解
  16. java+jsp+mysql实现学习资源推荐系统LearningResourceRS 个性化推荐系统 个性化学习网站推荐系统 协同过滤推荐算法 SSH(Spring+Struts+Hiber)开发框架
  17. NBA各队所在分区,州,城市,主体育馆资料整理
  18. 电脑上怎么登录几个微信(微信多开)?不需要安装软件的方法,超简单
  19. 【PBR系列七】基于物理的环境光照(下):镜面反射 IBL(Specular IBL)
  20. js验证身份证合法性(最后一位的校验)

热门文章

  1. Angular 4.0_在线竞拍网站(3)_引入所需框架与类库
  2. Angular 4.0_在线竞拍网站(4)
  3. 魅族16php7.3系统,魅族 16s更新Flyme 7.3稳定版 加入DC软件调光
  4. python之set集合、深浅拷贝
  5. 石大远程在线考试——《大地构造学》在线考试
  6. rk3399 9.0 GMS 服务使用
  7. 谷歌浏览器插件的安装
  8. Robotframework-ride 实例 - 提高文章浏览量 例某个Web
  9. 计算机系统u盘判断,教你检测电脑是否支持U盘启动
  10. 【诗经】国风——秦风