这题要怎么做?代码尽量简单一点,谢了

图片说明图片说明

一样的问题
https://ask.csdn.net/questions/715147
唯一的区别一个是输入输出,一个是你N=4,他N=3

程序就不给你写了,上次写的 https://ask.csdn.net/questions/715372 你到现在都不采纳。

再这么搞,下次连思路都懒得回答你了。

import math
import re


class Matrix:

    pattern = re.compile('(1.*1)|(2.*2)|(3.*3)|(4.*4)')

    def __init__(self):
        self.array = []
        pass

    def getInput(self):
        for i in range(4):
            row_str = input()
            self.array.append(row_str.split(' '))

    def check(self):
        for i in range(4):
            row = '{}{}{}{}'.format(self.array[i][0], self.array[i][1], self.array[i][2], self.array[i][3])
            if Matrix.pattern.search(row) != None:
                return "No"

            column = '{}{}{}{}'.format(self.array[0][i], self.array[1][i], self.array[2][i], self.array[3][i])
            if Matrix.pattern.search(column) != None:
                return "No"

            ix = (i % 2) * 2
            iy = math.floor(i / 2) * 2
            square = '{}{}{}{}'.format(self.array[ix][iy], self.array[ix+1][iy], self.array[ix][iy+1], self.array[ix+1][iy+1])
            if Matrix.pattern.search(square) != None:
                return "No"

        return "Yes"


if __name__ == '__main__':
    matrixs = int(input())
    res = []
    for i in range(matrixs):
        matrix = Matrix()
        matrix.getInput()
        res.append(matrix.check())
        del matrix

    for i in res:
        print(i)