practivceAlgorithm/백준
[백준][Python] 1080 행렬
findTheValue
2021. 10. 15. 20:29
쭉 가면서 계속 바꿔주면 된다. 아니면 누적 배열을 만들어 바꾼 횟수를 기록해주며 홀짝 판별해도 되는데 소요가 비슷하기 때문에 그냥 그리디로 계속 바꾸는게 낫다.
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
A = [list(map(int, list(input().rstrip()))) for _ in range(N)]
B = [list(map(int, list(input().rstrip()))) for _ in range(N)]
cnt = 0
for i in range(N):
for j in range(M):
if i < N - 2 and j < M - 2:
if A[i][j] != B[i][j]:
for x in range(i, i + 3):
for y in range(j, j + 3):
A[x][y] ^= 1
cnt += 1
else:
if A[i][j] != B[i][j]:
print(-1)
exit()
print(cnt)