풀이
그냥 다 돌려보면 된다.
코드
#include <stdio.h>
#define min(a,b) (a)<(b)?(a):(b)
int n, m, i, j, a, b, ans = 1e9;
char str[55][55];
int main() {
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++) scanf("%s", str[i]);
for (i = 0; i < n - 7; i++) for (j = 0; j < m - 7; j++) {
int cnt = 0;
for (a = i; a < i + 8; a++) for (b = j; b < j + 8; b++) {
cnt += str[a][b] == ((a&1)^(b&1) ? 'W':'B');
}
ans = min(ans, min(cnt, 64 - cnt));
}
printf("%d", ans);
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이