【ACM】POJ 1852
【问题描述】
一队蚂蚁在一根水平杆上行走,每只蚂蚁固定速度 1cm/s. 当一只蚂蚁走到杆的尽头时,立即从秆上掉落. 当两只蚂蚁相遇时它们会掉头向相反的方向前进. 我们知道每只蚂蚁在杆上的初始位置, 但是, 我们不知道蚂蚁向哪个方向前行. 你的任务是计算所有蚂蚁都杆上掉落可能的最短时间和最长时间.
【输入描述】
第一行包含一个整数,给出测试实例数量. 每组数据开始有两个整数: 杆的长度 (单位:cm) 和杆上蚂蚁数量 n. 之后是 n 个整数给出每只蚂蚁从杆的最左边开始的位置, 且是无序的. 输入的每个整数都不大于 1000000 ,两个数字用空格分开.
【输出描述】
对于每组输入输出两个整数. 第一个整数表示所有蚂蚁从杆上掉落可能的最短时间(如果它们前行方向选择得当) ,第二个整数表示可能的最长时间.
【样例输入】
2
10 3
2 6 7
214 7
11 12 7 13 176 23 191
【样例输出】
4 8
38 207
两个蚂蚁相遇以后如果在调转方向,该过程太过复杂,可以看成两个蚂蚁在相遇以后交换位置(或者可以看成直接沿一个方向走到头)
AC代码一:
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 1000000+10;int a[maxn];int main ()
{int T,n,tmin,tmax,i,l,l2;scanf("%d",&T);while(T--){tmin=0;scanf("%d%d",&l,&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);tmax=max(l-a[0],a[n-1]);tmin=min(a[0],l-a[0]);for(i=1;i<n;i++){tmin=max(tmin,min(a[i],l-a[i]));}printf("%d %d\n",tmin,tmax);}return 0;
}
AC代码二:
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn=1000000;
int small[maxn],big[maxn];int main()
{int t,length,mynum,weizhi,i,j,m;scanf("%d",&t);while(t--){j=0;m=0;memset(small,0,sizeof(small));memset(big,0,sizeof(big));scanf("%d",&length);scanf("%d",&mynum);for(i=0;i<mynum;i++){scanf("%d",&weizhi);if(weizhi>length/2){big[m++]=weizhi;small[j++]=length-weizhi;}else{big[m++]=length-weizhi;small[j++]=weizhi;}}sort(small,small+j);sort(big,big+m);printf("%d %d\n",small[j-1],big[m-1]);} return 0;
}
【ACM】POJ 1852相关推荐
- 【ACM】POJ 3069
[问题描述] Saruman the White must lead his army along a straight path from Isengard to Helm's Deep. To k ...
- 【ACM】POJ 1664
现在还不能理解为什么 至少有一个盘子用f(m,n-1)表示就可以了 AC: #include <iostream> #include <cstdio> using namesp ...
- 【题解】POJ 1852 Ants(搜索)
POJ1852 Ants 目录 POJ1852 Ants 原题 题意 题解 原题 An army of ants walk on a horizontal pole of length l cm, e ...
- 【ACM】杭电OJ 2149
Public Sale [问题描述] 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯. 要种田得有田才行,Lel ...
- 【ACM】Spit Problem
[ACM]Spit Problem 题目 In a Berland's zoo there is an enclosure with camels. It is known that camels l ...
- 【ACM】删数问题(待更)
[描述]键盘输入一个正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的N和S寻找一种方案使得剩下的数字组成的新数最小.(N不超过240位,N>S) [输入] ...
- 【ACM】连续出现的字符
[描述]给定一个字符串,在字符串中找到第一个连续出现k次的字符 [输入]第一行包含一个正整数k,表示至少需要连续出现的次数.1<=k<=1000.第二行包含需要查找的字符串.字符串的长度在 ...
- 【ACM】UVa 489 刽子手游戏(自顶向下)
[题目] Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下: 1.答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter). 2 ...
- 【ACM】Uva 455
[题目]:如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期.输入一个长度不超过80的字符串,输出其最小正周期. 注意以下几点: 1.它的最小正周期一定可以被它的长度整除. 2第 ...
最新文章
- Linux下的阻塞(Block)
- 接私活福音,validation组件敏捷开发,效率提升5倍!
- 3.Struts2的输入验证
- 【Android 组件化】路由组件 ( 注解处理器参数选项设置 )
- Vue引用其他组件,但组件某些部分不需要时的简单处理
- django 在保存数据前进行数据校验
- 优先级队列 c语言,使用最小堆使用优先级队列(c语言版本)
- windows 邮槽mailslot 在服务程序内建立后客户端无权限访问(GetLastError() == 5)的问题...
- 为什么选择做班级管理系统_为什么即使在平衡的班级下准确性也很麻烦
- sql中 in , not in , exists , not exists效率分析
- 软件测试某公司面试题2014
- 真假难辨,AI就能分得清?
- 冷链场景应用实例解读
- Hive SQL练习题
- Cesium开发基础篇 | 03加载矢量数据
- python爱心代码简单教程
- 写一段潮汐调和分析的matlab代码
- 苹果笔记本MBP 玩大型游戏秒退之解決方法
- 使用Blob对象接收后台返回的图片流并展示到前端页面
- html名人名言页面,网页制作:关于生命的名言警句 ― 名人名言 一品故事网,Www.07938.Come...