์ฒด์คํ์ ๋งจ ์ผ์ชฝ ์ ์นธ์ด ์์ชฝ์ด ๊ฒ์ ์์ธ ๊ฒฝ์ฐ, ํฐ์์ธ ๊ฒฝ์ฐ ๋๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.
์ฒด์คํ์ ํฌ๊ธฐ๊ฐ 8*8๋ณด๋ค ํด ๊ฒฝ์ฐ ์ฒด์คํ์ ์๋ผ 8*8 ํฌ๊ธฐ๋ก ๋ง๋ค์ด์ผ ํ๋๋ฐ, ์๋ฅธ ํ ์ฒด์คํ์ฒ๋ผ ์์ ์น ํ ๋ ๊ฐ์ฅ ์ ๊ฒ ์ ์ฌ๊ฐํ์ ์น ํ๋ ํ์๋ฅผ ๊ตฌํด์ผ ํ๋ค.
๊ฐ์ฅ ์ ๊ฒ ์ ์ฌ๊ฐํ์ ์น ํ๋ ค๋ฉด ์ด๋ ๋ถ๋ถ์ ์๋ผ์ผ ํ๋์ง ์ ์ ์๊ธฐ ๋๋ฌธ์, (0, 0) ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ฅผ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ธํด ๊ฐ์ฅ ์ ์ ํ์๋ฅผ ๊ตฌํ๋ค.
def re_bboard(mboard, x, y)
๋ณด๋์ ๊ฒ์ฌํ (x, y)์ขํ๋ฅผ ์ ๋ฌํ๋ฉด ์์์ด ๊ฒ์ ์์ธ ๋ณด๋์ ๋น๊ตํ์ฌ ๋ค์ ์น ํด์ผ ํ ๊ฐ์๋ฅผ ๋ฐํ
def re_wboard(mboard, x, y)
๋ณด๋์ ๊ฒ์ฌํ (x, y)์ขํ๋ฅผ ์ ๋ฌํ๋ฉด ์์์ด ํฐ์์ธ ๋ณด๋์ ๋น๊ตํ์ฌ ๋ค์ ์น ํด์ผ ํ ๊ฐ์๋ฅผ ๋ฐํ
1. ์ ๋ ฅ๋ฐ์ nํฌ๊ธฐ์ myboard ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ๋ณด๋์ ์ํ๋ฅผ ์ ์ฅ
2. ์ด์ค๋ฃจํ๋ฅผ ํตํด ๋ณด๋๋ฅผ ์๋ฅผ ์ผ์ชฝ ์ ๊ผญ์ง์ ์ขํ๋ฅผ (0, 0) ๋ถํฐ re_bboard()์ re_wboard()๋ฅผ ํธ์ถํ๊ณ ๋ฐํ๊ฐ์ mincnt ๋ฆฌ์คํธ์ ์ ์ฅ
3.mincnt์ ์ต์๊ฐ์ ์ถ๋ ฅ
# 1018.py
def re_bboard(mboard, x, y):
cnt = 0
board = ['BWBWBWBW', 'WBWBWBWB'] * 4
for i in range(8):
for j in range(8):
if mboard[x + i][y + j] != board[i][j]:
cnt += 1
return cnt
def re_wboard(mboard, x, y):
cnt = 0
board = ['WBWBWBWB', 'BWBWBWBW'] * 4
for i in range(8):
for j in range(8):
if mboard[x + i][y + j] != board[i][j]:
cnt += 1
return cnt
n, m = map(int, input().split())
myboard = [input() for _ in range(n)]
mincnt = []
for i in range(n - 7):
for j in range(m - 7):
mincnt.append(re_wboard(myboard, i, j))
mincnt.append(re_bboard(myboard, i, j))
print(min(mincnt))