思路:当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行,这句话可以想成,碰面时蚂蚁跨过对方,继续按照原来的方向爬行,对最后的结果没有影响
AC代码:
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] a = new int[55]; int st = in.nextInt(); int sum = 0; //蚂蚁头朝右边 if (st > 0) { int sum1 = 0; for (int i=1; i<n; i++) { a[i] = in.nextInt(); //算出头朝左,且在患病蚂蚁右边的蚂蚁 if (a[i] < 0 && Math.abs(a[i]) > st) sum++; //算出头朝右,且在患病蚂蚁左边的蚂蚁 if (a[i] > 0 && a[i] < st) sum1++; } if (sum > 0) sum += sum1; } else { //蚂蚁头朝左边 int sum1 = 0; for (int i=1; i<n; i++) { a[i] = in.nextInt(); //算出头朝右,且在患病蚂蚁左边的蚂蚁 if (a[i] > 0 && Math.abs(st) > a[i]) sum++; //算出头朝左,且在患病蚂蚁右边的蚂蚁 if (a[i] < 0 && Math.abs(a[i]) > Math.abs(st)) sum1++; } if (sum > 0) sum += sum1; } //加上自身 System.out.PRintln(sum + 1); }}
新闻热点
疑难解答