AcWing 1211. 蚂蚁感冒 (分析)

Problem

这个题之前困扰了一段时间,没想到点拨一下,蚂蚁碰面可以看作不掉头而继续前进,因为两只蚂蚁如果都染病了,掉头和前进没有区别。

这样就简单了许多,分别按情况统计染病蚂蚁即可。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Main {
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static PrintWriter pw = new PrintWriter(System.out);
    static int n;

    public static void main(String[] args) throws Exception {
        String[] s = br.readLine().split(" ");
        n = Integer.parseInt(s[0]);
        int f = 0, l = 0, r = 0;
        f = Integer.parseInt(s[1]);
        s = br.readLine().split(" ");
        for (int i = 1; i < n; i++) {
            int x = Integer.parseInt(s[i - 1]);
            if (Math.abs(x) < Math.abs(f) && x > 0) r++;
            if (Math.abs(x) > Math.abs(f) && x < 0) l++;
        }
        if (f < 0 && r == 0 || f > 0 && l == 0) pw.println(1);
        else pw.print(l + r + 1);

        pw.flush();
        pw.close();
        br.close();
    }
}

发布了167 篇原创文章 · 获赞 3 · 访问量 3434

猜你喜欢

转载自blog.csdn.net/qq_43515011/article/details/104188483