[python]伯準1080マトリクス
6388 ワード
https://www.acmicpc.net/problem/1080
**ここで注意したいのは、aマトリクスでbマトリクスの他の部分を検索する場合、for文の範囲はn-2/m-2である必要があります.
n,mに設定するとインデックスエラーが発生します.
コード#コード#
**ここで注意したいのは、aマトリクスでbマトリクスの他の部分を検索する場合、for文の範囲はn-2/m-2である必要があります.
n,mに設定するとインデックスエラーが発生します.
n, m = map(int,input().split())
a = [list(map(int, input())) for _ in range(n)]
b = [list(map(int, input())) for _ in range(n)]
#3×3크기의 부분 행렬 원소 뒤집기
def change(x,y):
for i in range(x,x+3):
for j in range(y,y+3):
if a[i][j]==0:
a[i][j]=1
else:
a[i][j]=0
#a행렬에서 b행렬과 다른 부분 찾기
cnt=0
for i in range(n-2):
for j in range(m-2):
if a[i][j]!=b[i][j]:
change(i,j)
cnt+=1
if a==b: #a와 b행렬을 같게 만들었으면 cnt 출력
print(cnt)
else:
print(-1)
Reference
この問題について([python]伯準1080マトリクス), 我々は、より多くの情報をここで見つけました https://velog.io/@soobin519/Python-백준-1080행렬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol