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

#include <iostream> #include <vector> #include <cmath> int main() { int n, m, min = 64; std::cin >> n >> m; std::vector<std::vector<char>> arr(n, std::vector<char>(m)); for(int i = 0; i < n; i ++) for(int j = 0; j < m; j ++) std::cin >> arr[i][j]; for (int i = 0; i < n - 7; i++) { for (int j = 0; j < m - 7; j++) { int modify = 0; for (int x = i; x < i + 8; x++) for (int y = j; y < j + 8; y++) { switch (arr[x][y]) { case 'B': modify += (x + y) % 2 ^ 1; break; case 'W': modify += (x + y) % 2 ^ 0; break; } } min = fmin(min, fmin(modify, 64 - modify)); } } std::cout << min; return 0; }


리뷰해주면 환영