1018번: 체스판 다시 칠하기

canyi·2023년 6월 12일
0

백준

목록 보기
13/19

문제링크

https://www.acmicpc.net/problem/1018

풀이 (완전탐색)

N, M = map(int, input().split())
board = [input() for _ in range(N)]
ans = 64


def fill(y, x, bw):
    global ans
    cnt = 0
    for i in range(8):
        for j in range(8):
            if(i+j) % 2:
                if board[y+i][x+j] == bw:
                    cnt += 1
            else:
                if board[y+i][x+j] != bw:
                    cnt += 1
    ans = min(ans, cnt)


for i in range(N - 7):
    for j in range(M - 7):
        fill(i, j, 'B')
        fill(i, j, 'W')
print(ans)

누적합

profile
백엔드 개발 정리

0개의 댓글