テストの Xiaoxiaole 検証コードを識別するのは非常に簡単です。九公歌では、2 つの隣接する要素を見つけて交換した後、次の図に示すように、同じ要素の行または列があることを確認します。この九公歌が
写真である場合 その場合、それを 9 つの部分に分割し、各グリッドをカテゴリとしてマークするか、ソース コードから直接 9 枚の写真を取得し、最後にそれを 2 次元行列に変換して認識します。上の図では、2 次元行列を次のように変換します。
matrix = [[0, 1, 2], [3, 2, 1], [2, 0, 1]]
次に、Python で交換アルゴリズム認識を記述するだけです。
def find_same(matrix):
# 判断矩阵一行或者一列的元素是否相同
for i in range(len(matrix)):
if len(set(matrix[i])) == 1:
return True
for j in range(len(matrix[0])):
if len(set([matrix[i][j] for i in range(len(matrix))])) == 1:
return True
return False
def swape(matrix, i, j, m, n):
# 交换矩阵中两个元素的位置
matrix[i][j], matrix[m][n] = matrix[m][n], matrix[i][j]
return matrix
def for_swape(matrix):
# 循环整个矩阵,交换相邻的两个元素,判断矩阵中的一行或者一列是否有相同的