백준(BOJ) 풀이

[백준 1018] 체스판 다시 칠하기

오호라-노이혼 2019. 11. 15. 10:38

def NofRepaint(M,x,y):
    c=0
    for i in range(8):
        for j in range(8):
            if int(M[x+i][y+j])!=(i+j)%2:
                c+=1
    a=c
    c=0
    for i in range(8):
        for j in range(8):
            if int(M[x+i][y+j])==(i+j)%2:
                c+=1
    b=c
    return min(a,b)
    
m,n=map(int, input().rstrip().split())
M=[]
for i in range(m):
    M.append(input().rstrip().replace("B",'0').replace("W",'1'))

Min=m*n
for p in range(m-7):
    for q in range(n-7):
        temp=NofRepaint(M,p,q)
        if temp            Min=temp
print(Min)