题目链接:https://vjudge.net/problem/UVA-10714
刚看到这道题的时候觉得很熟悉,想起来之前刚学贪心时在白书上看过,去查了一下,POJ也有这题。
题意就是一个木棍上有许多只蚂蚁,两只蚂蚁相遇后会改变自己的方向,给出蚂蚁的位置,初始方向任意。求最短时间和最长时间。
思路:两只蚂蚁相遇再换方向就可以理解为蚂蚁穿过去了,直接求蚂蚁初始位置和木棍两端的距离,所有蚂蚁之间相互独立。
#include<bits/stdc++.h> using namespace std; int main() { int T; while(cin>>T) { while(T--) { int l,n; cin>>l>>n; int ans1=0,ans2=0; for(int i=0;i<n;i++) { int num; cin>>num; ans1=max(ans1,min(num,l-num)); ans2=max(ans2,max(num,l-num)); } cout<<ans1<<' '<<ans2<<endl; } } return 0; }