學習筆記-POJ-1852螞蟻問題
阿新 • • 發佈:2019-01-29
Description
一支螞蟻軍隊在長度為L釐米的橫竿上走,每隻螞蟻的速度恆定,為1釐米/秒。當一隻行走的螞蟻到達模竿終點的時候,它就立即掉了下去;當兩隻螞蟻相遇的時候,它們就調頭,並開始往相反的方向走。我們知道螞蟻在模竿上的原來的位置,但不知道螞蟻行走的方向。請計算所有螞蟻從模竿上掉下去的最早可能時間和最晚可能的時間。Input
輸入的第1行為樣例數。每個樣例首先給出2個整數,表示模竿的長度和螞蟻的數量n。接下來的n個數表示螞蟻在模竿上的位置(從左開始算起,n<1 000 000)。Ouput
每個案例輸出螞蟻掉下去的最早時間和最晚時間。Sample Input
2 10 3 2 6 7 214 7 11 12 7 13 176 23 191Sample Output
4 8
38 207
import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); while(cin.hasNext()){ //最長時間就是離端點最近的螞蟻爬到反向端點 int T = cin.nextInt(); while(T-->0){ int m = cin.nextInt(); int n = cin.nextInt(); int b = 0; int c = 0; int a = 0; for(int i=1;i<=n;i++){ a = cin.nextInt(); a = Math.max(a, m-a);//每個螞蟻的最長時間 b = Math.max(a, b);//所有螞蟻中的最長時間 c = Math.max(c, m-a);//每隻螞蟻減去最長時間 就是距離最短 後求最大值(所有螞蟻掉下去) } System.out.println(c+" "+b); } } cin.close(); } }