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

봉글렛·2023년 1월 23일

백준

목록 보기
40/55

문제 링크 https://www.acmicpc.net/problem/1018

체스판이 8x8이라는 점을 고려해서 가장 적게 변경하는 케이스를 찾으면 된다.

풀이

n, m = map(int, input().split())
c = [input() for _ in range(n)]
n_t, m_t = n-7, m-7
result = []

for i in range(n_t):
    for j in range(m_t):
        st1, st2 = 0, 0
        for y in range(i,i+8):
            for x in range(j, j+8):
                if (x+y) % 2 ==0:
                    if c[y][x] != 'B':
                        st1 += 1
                    if c[y][x] != 'W':
                        st2 += 1
                else:
                    if c[y][x] != 'W':
                        st1 += 1
                    if c[y][x] != 'B':
                        st2 += 1
        result.append(st1)
        result.append(st2)
print(min(result))
profile
어쩌다 개발자 (할 수 있을 때까지!!!!)

0개의 댓글