一样的问题
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)