문제:
입력:
출력:
풀이 방법:
부르트포스를 이용해 모든 경우의 수를 파악해보면 된다. 왼쪽 위부터 8*8 체스판을 골라서 그 중에 몇 개를 색칠해야하는지 세어본다. 이후 옆으로 한 칸씩, 아래로 한 칸씩 이동하면서 잘못된 배열을 찾아 세는 작업을 반복한다. 각 경우마다 센 것을 리스트에 담아두고 제일 작은 값을 출력하도록 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | a,b=map(int,input().split()) board=[] for i in range(a): line=input().split() board.append(line) minlist=[] for i in range(b-8+1): for j in range(a-8+1): minW=0 minB=0 for p in range(8): for k in range(8): if (k+p)%2==0: if board[j+p][0][i+k]=='W': minW+=1 else: minB+=1 else: if board[j+p][0][i+k]=='B': minW+=1 else: minB+=1 minlist.append(min(minB,minW)) print(min(minlist)) | cs |
'Algorithm > Python' 카테고리의 다른 글
[BOJ]11057. 오르막 수 (0) | 2019.07.01 |
---|---|
[BOJ]1436. 영화감독 숌 (0) | 2019.06.29 |
[BOJ]1476. 날짜 계산 (0) | 2019.06.27 |
[BOJ]1002.터렛 (0) | 2019.05.21 |
[BOJ]2293. 동전1 (0) | 2019.05.20 |