알고리즘/Greedy

백준 1080 파이썬(그리디)

Aytekin 2022. 2. 9. 10:57
728x90

그리디문제로 나는 행렬이 들어가기만 하면 어렵다 ㅠㅠ

# 1080번: 행렬
# 다시풀기

n,m = map(int,input().split())

graph1 = []
graph2 = []
cnt = 0

def convertgraph(i,j):
    for x in range(i,i+3):
        for y in range(j,j+3):
            graph1[x][y] = 1- graph1[x][y]

for i in range(n):
    graph1.append(list(map(int,input())))

for i in range(n):
    graph2.append(list(map(int,input())))

for i in range(n-2):
    for j in range(m-2):
        if graph1[i][j] != graph2[i][j]:
            convertgraph(i,j)
            cnt += 1

flag = 0

for i in range(n):
    for j in range(m):
        if graph1[i][j] != graph2[i][j]:
            flag = 1
            break

if flag == 1:
    print(-1)
else:
    print(cnt)

 

참조한 블로그 https://hongcoding.tistory.com/75

728x90