백준

백준 1018번: 체스판 다시 칠하기

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

 

1018번: 체스판 다시 칠하기

첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.

www.acmicpc.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import sys
input = sys.stdin.readline
 
n, m = map(int, input().split())
 
wb = []
for i in range(4):
    wb.append(list("WBWBWBWB"))
    wb.append(list("BWBWBWBW"))
 
bw = []
for i in range(4):
    bw.append(list("BWBWBWBW"))
    bw.append(list("WBWBWBWB"))
 
= []
countwb = 0
countbw = 0
answer = []
step1 = 0
step2 = 0
 
for i in range(n):
    a.append(list(input()))
 
for i in range(n-7):
    for j in range(m-7):
        for k in range(i,i+8):
            for l in range(j, j+8):
                if a[k][l] != wb[step1][step2]:
                    countwb += 1
                elif a[k][l] != bw[step1][step2]:
                    countbw += 1
                step2 += 1
            step1 += 1
            step2 = 0
        step1 = 0
 
        answer.append(countwb)
        answer.append(countbw)
        countwb = 0
        countbw = 0
 
print(min(answer))
cs

'백준' 카테고리의 다른 글

백준 2805번: 나무 자르기  (0) 2023.02.19
백준 1654번: 랜선 자르기  (0) 2023.02.19
백준 1300번: K번째 수  (1) 2023.02.16
백준 2343번: 기타 레슨  (0) 2023.02.16
백준 1167번: 트리의 지름  (0) 2023.02.12