AcWing 1211. 蚂蚁感冒

Problem: AcWing 1211. 蚂蚁感冒

思路

这是一个模拟题。题目的意思是,如果一只蚂蚁感冒了,那么它会把感冒传给所有和它相向而行的蚂蚁。所以我们只需要找出所有和第一只蚂蚁相向而行的蚂蚁就可以了。具体来说,如果第一只蚂蚁向右移动,那么所有在它右边且向左移动的蚂蚁都会被感染;如果第一只蚂蚁向左移动,那么所有在它左边且向右移动的蚂蚁都会被感染。

解题方法

我们首先读入所有蚂蚁的位置和方向。然后我们遍历所有的蚂蚁,对于每一只蚂蚁,我们判断它是否和第一只蚂蚁相向而行。如果是,我们就把它加入到感冒蚂蚁的队列中。最后,我们输出感冒蚂蚁的数量。
具体的判断方法是:如果第一只蚂蚁向右移动(位置为正),那么所有在它右边且向左移动的蚂蚁(位置为负)都会被感染;如果第一只蚂蚁向左移动(位置为负),那么所有在它左边且向右移动的蚂蚁(位置为正)都会被感染。

复杂度

时间复杂度:

O ( n ) O(n) O(n),我们需要遍历所有的蚂蚁。

空间复杂度:

O ( n ) O(n) O(n),我们需要存储所有蚂蚁的位置和方向。

Code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;

public class Main {
	static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
	static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
	static StreamTokenizer sr = new StreamTokenizer(in);
	static int MAXN = 60;
	static int[] arr = new int[MAXN];
	static int n;

	public static void main(String[] args) throws IOException {
		n = nextInt();
		for (int i = 0; i < n; i++) {
			arr[i] = nextInt();
		}
		int lr = 0, rl = 0, res = 0;
		for (int i = 0; i < n; i++) {
			if (Math.abs(arr[i]) < Math.abs(arr[0]) && arr[i] > 0)
				lr++;
			else if (Math.abs(arr[i]) > Math.abs(arr[0]) && arr[i] < 0)
				rl++;
		}
		if ((arr[0] < 0 && lr == 0 )|| (arr[0] > 0 && rl == 0)) {
			res = 1;
		} else {
			res = lr + rl + 1;
		}
		out.println(res);
		out.flush();

	}

	private static int nextInt() throws IOException {
		sr.nextToken();
		return (int) sr.nval;
	}

}

相关推荐

  1. AcWing 1211. 蚂蚁感冒

    2024-03-11 16:28:04       22 阅读
  2. 蓝桥杯《蚂蚁感冒

    2024-03-11 16:28:04       35 阅读
  3. AcWing 1221. 四平方和

    2024-03-11 16:28:04       16 阅读
  4. 阿里云大数据ACAACP复习题(121~140)

    2024-03-11 16:28:04       29 阅读
  5. 1213

    2024-03-11 16:28:04       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 16:28:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 16:28:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 16:28:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 16:28:04       18 阅读

热门阅读

  1. sora未来在哪里,是否改变世界

    2024-03-11 16:28:04       21 阅读
  2. 2024 年 AI 辅助研发趋势

    2024-03-11 16:28:04       20 阅读
  3. sqlite 损坏 修复

    2024-03-11 16:28:04       21 阅读
  4. C语言基础练习——Day04

    2024-03-11 16:28:04       20 阅读
  5. 如何像专家一样维护服务器硬件?

    2024-03-11 16:28:04       18 阅读
  6. 大数据开发(Hadoop面试真题-卷二)

    2024-03-11 16:28:04       20 阅读
  7. Superset二次开发之Superset架构理解

    2024-03-11 16:28:04       20 阅读
  8. 关于tensorrt里面的wts校验

    2024-03-11 16:28:04       17 阅读
  9. 浅谈SpringAOP实现原理

    2024-03-11 16:28:04       18 阅读
  10. 字符编码 字符串转义

    2024-03-11 16:28:04       23 阅读
  11. springboot Mongo大数据查询优化方案

    2024-03-11 16:28:04       21 阅读