朋友们们能不能看看这个怎么写,c语言,求帮写一下

img


我想着再建立一个二维数组,找到原数组中-1的位置,然后周围加一,对比两个棋盘是否一样。但是如果两个-1相邻我就不知道怎么弄了。

循环每个元素,看其上下左右8个方位的-1出现的次数,是不是等于该元素的值

按照你思路的话,对-1周围八个元素加一之前要先对周围八个元素进行判断其是否为-1,不是再加一,否则不对其进行操作。还有一种思路是扫描每一个元素周围八个元素中-1的数量,直接比较。就算法时间复杂度来说两个算法都是O(n^2),不过第二个比较容易理解,操作步骤也少一点。然后要注意的是四个边和四个角周围并没有八个元素,写的时候要判断一下元素的位置。