본문 바로가기

백준(BOJ) 풀이

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

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)

'백준(BOJ) 풀이' 카테고리의 다른 글

[백준 11651] 좌표 정렬하기 2  (0) 2019.11.15
[백준 2108] 통계학  (0) 2019.11.15
[백준 11729] 하노이 탑 이동 순서  (0) 2019.11.15
[백준 8447] 별 찍기 - 10  (0) 2019.11.15
[백준 4153] 직각삼각형  (0) 2019.11.15