本文主要是介绍题目 1454: 蓝桥杯历届试题-蚂蚁感冒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
长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);}}
}
这篇关于题目 1454: 蓝桥杯历届试题-蚂蚁感冒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!