题目标签
标签
模拟
难度
普及/提高-
思路分析
思路一
时间复杂度 O ( n 2 t ) O(n^2t) O(n2t)
说实在,这一题其实很简单。一道纯模拟题。我们先来分析一下题目:“且遇到边界后会停止,遇到一个停止的子弹也会停止”。这个点可以说明每一个子弹的最终坐标只可能在边界上,或者右方/下方有一个子弹。如果这些条件都不满足,这种答案是错误的。因为我们来想想,炮弹往右射出去,必定要碰到边界和子弹才会停下来。可出现了还没碰到边际和子弹就停下来的情况是不可能的。所以只需判断是否存在上述情况即可。当有出现这种情况时,则停止循环,输出 N O NO NO 。否则,输出 Y E S YES YES 。
从代码来分析,首先要求输入一个边长为 n n n 的正方形矩阵,那每次循环只需要把这个矩阵的所有数组循环一次就好了。先来分析一下在边界的情况。如何判断是否在边界呢?其实很简单。只要把矩阵的右面一层和下面一层全部用 1 1 1 扫过一边就OK了。