close

題目概要:

一群螞蟻在長度L的繩子上走,兩隻螞蟻相遇的時候就會掉頭,螞蟻走到盡頭的時候會掉下繩子,計算需要最慢與最快多久時間繩子上的螞蟻才會全部掉光。

解題方向:

第一個輸入為接下來有多少case需要處理,每個case的第一個輸入為繩子長度,第二個輸入為有多少隻螞蟻在繩子上,第三個輸入為每隻螞蟻目前的位子。

最慢掉下繩子的想法為螞蟻從一個端點走到另一個端點,計算螞蟻最慢掉落的時間。

最快掉下繩子的想法為螞蟻都從離自己最近的端點掉落,計算螞蟻最慢掉落的時間。

程式碼:

/*******************
*Java
*Author:SHEN,ZHI-XUN
*Time:2018/7/5
********************/
import java.util.Scanner;
class main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int cases=sc.nextInt();
while((cases--)>0){
int max=0,min=0;
int len=sc.nextInt();//pole length
int size=sc.nextInt();//data size
for(int i=0;i<size;i++){
int temp=sc.nextInt();
//max
if((len-temp)>max){
max=len-temp;
}
if(temp>max){
max=temp;
}
//min
if(len-temp>min && len-temp<=len/2){
min=len-temp;
}
if(temp>min && temp<=len/2){
min=temp;
}
}
System.out.println(min+" "+max);
}
}
}
view raw uva10714.java hosted with ❤ by GitHub

arrow
arrow
    文章標籤
    Java
    全站熱搜
    創作者介紹
    創作者 a7069810 的頭像
    a7069810

    紀錄自己的程式人生

    a7069810 發表在 痞客邦 留言(0) 人氣()