The first line of input contains one integer giving the number of cases that follow. The data for each case start with two integer numbers: the length of the pole (in cm) and n, the number of ants residing on the pole. These two numbers are followed by n integers giving the position of each ant on the pole as the distance measured from the left end of the pole, in no particular order. All input integers are not bigger than 1000000 and they are separated by whitespace.
For each case of input, output two numbers separated by a single space. The first number is the earliest possible time when all ants fall off the pole (if the directions of their walks are chosen appropriately) and the second number is the latest possible such time.
2 10 3 2 6 7 214 7 11 12 7 13 176 23 191
4 8 38 207
题意:蚂蚁在木棍上爬,速度1cm/s,给出木棍长度和每只蚂蚁的位置,问蚂蚁全部下木棍的最长时间和最短时间。
思路:典型的贪心题目,所有的蚂蚁往一个方向走的时候才会有最大值最小值。
代码:
#include <iostream> using namespace std; int len,T,_min,_max,num; int dis; int main() { cin>>T; while(T--) { cin>>len>>num; _min = -1; _max = -1; for(int i = 0;i < num;i++) { cin>>dis; int _min_temp = min(dis,len - dis); int _max_temp = max(dis,len - dis); _min = max(_min,_min_temp); _max = max(_max,_max_temp); } cout<<_min<<" "<<_max<<endl; } return 0; }
[贪心]UVA10714 Ants,布布扣,bubuko.com
原文:http://blog.csdn.net/zju_ziqin/article/details/22894427