[백준] #1080 행렬 python

2023. 6. 1. 08:48

https://www.acmicpc.net/problem/1080

 

1080번: 행렬

첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다.

www.acmicpc.net

 

📕 설명 📕

간단한 행렬문제 풀이.

 

바꿔가주며 개수만 세면 쉽다.

🧑🏻‍💻 나의 풀이 🧑🏻‍💻

N, M = map(int, input().split())
A = [list(map(int, list(input()))) for _ in range(N)]
B = [list(map(int, list(input()))) for _ in range(N)]
cnt = 0


def convert(i, j, A):
    for iter_i in range(i, i+3):
        for iter_j in range(j, j+3):
            A[iter_i][iter_j] = 1 - A[iter_i][iter_j]


for i in range(N-2):
    for j in range(M-2):
        if A[i][j] != B[i][j]:
            cnt += 1
            convert(i, j, A)

if A != B:
    print(-1)
else:
    print(cnt)

BELATED ARTICLES

more