풀이 방법을 생각하기 쉽지 않았다.
각 행을 돌면서 같지 않는 부분이 있으면 전환해준다. 이때 전환은 함수를 이용해서 작성해준다.
각 행을 다 돌았는데 리스트가 동일하지 않는 경우도 확인해준다.
n,m = map(int, input().split())
A = [list(map(int, input())) for _ in range(n)]
B = [list(map(int, input())) for _ in range(n)]
if (n < 3 or m < 3) and A != B :
print(-1)
exit()
def rev(i,j):
for x in range(i, i+3):
for y in range(j, j+3):
if A[x][y] == 0:
A[x][y] = 1
else:
A[x][y] = 0
cnt = 0
if (n < 3 or m < 3) and A != B :
cnt = -1
else:
for i in range(n-2):
for j in range(m-2):
if A[i][j] != B[i][j]:
cnt+=1
rev(i,j)
if cnt!=-1:
if A != B:
cnt = -1
print(cnt)