BOJ 1018 :: 체스판 다시 칠하기
문제 링크 : https://www.acmicpc.net/problem/1018
나의 코드
Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_1018/BOJ_1018.cpp
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 45 46 47 48 49 50 51 52 53 54 | // 백준알고리즘 1018번 :: 체스판 다시 칠하기 #include<iostream> #include<string> using namespace std; int N, M; int ans = -1; char board[51][51]; char color[2] = { 'B', 'W' }; int main(void) { string str; cin >> N >> M; for (int i = 0; i < N; i++) { cin >> str; for (int j = 0; j < M; j++) { board[i][j] = str[j]; } } // B로 시작 혹은 W로 시작 for (int c = 0; c < 2; c++) { // 시작 x인덱스 for (int sx = 0; sx < (N - 8 + 1); sx++) { // 시작 y인덱스 for (int sy = 0; sy < (M - 8 + 1); sy++) { int cnt = 0; // board를 탐색하며 count for (int i = sx; i < sx + 8; i++) { for (int j = sy; j < sy + 8; j++) { if (board[i][j] != color[(i + j + c) % 2]) cnt++; } } // ans 갱신 if (ans > cnt || ans == -1) ans = cnt; } } } cout << ans; return 0; } | cs |
'Problem > Brute force' 카테고리의 다른 글
[C/C++] BOJ 14620 :: 꽃길 (0) | 2019.01.24 |
---|---|
[C/C++] BOJ 1062 :: 가르침 (0) | 2019.01.21 |
[C/C++] BOJ 15684 :: 사다리 조작 (0) | 2019.01.20 |
[C/C++] BOJ 15683 :: 감시 (0) | 2019.01.13 |
[백준알고리즘] 2309번 일곱난쟁이 (0) | 2018.11.26 |