題目描述:
長100厘米的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。
每只螞蟻都只能沿著桿子向前爬,速度是1厘米/秒。
當兩只螞蟻碰面時,它們會同時掉頭往相反的方向爬行。
這些螞蟻中,有1只螞蟻感冒了。并且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。
請你計算,當所有螞蟻都爬離桿子時,有多少只螞蟻患上了感冒。
代碼:
package lanqiao;import java.math.BigInteger;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] arr = new int[n];for(int i = 0;i < n;i ++){arr[i] = sc.nextInt();}int cnt = 1;int first = arr[0];boolean flag = false;for(int i = 1;i < n;i ++){if(first > 0){if((Math.abs(arr[i])> first) && arr[i] < 0){cnt ++;flag = true;}if((Math.abs(arr[i]) < first) && arr[i] > 0){cnt ++;}}else{if((Math.abs(arr[i]) < Math.abs(first)) && arr[i] > 0){cnt ++;flag = true;}if((Math.abs(arr[i]) > Math.abs(first)) && arr[i] < 0){cnt ++;}}}if(flag){System.out.println(cnt);}else{System.out.println(1);}}
}