반응형
반례를 못찾아서 오래걸렸음
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
char arr[50][50];
int main() {
int n, m,i,j,k,l;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> arr[i][j];
}
}
int cnt;
vector<int> vec;
for (i = 0; i <= n-8; i++) {
for (j = 0; j <= m-8; j++) {
cnt = 0;
for (k = i; k < i + 8; k++) {
for (l = j; l < j + 8; l++) {
if ((k - i + l - j) % 2 == 1 && arr[k][l] == arr[i][j]) {
cnt++;
}
if ((k - i + l - j) % 2 == 0 && arr[k][l] != arr[i][j]) {
cnt++;
}
}
}
vec.push_back(min(cnt,64-cnt));
}
}
sort(vec.begin(), vec.end());
cout << vec[0];
}
반응형
'프로그래밍 > 알고리즘 문제풀이' 카테고리의 다른 글
[백준] [c++] 1012 번 유기농배추 (0) | 2020.08.06 |
---|---|
[백준] [c++] 2075 번 n번째큰수 (0) | 2020.08.06 |
[백준] [c++] 9324 번 진짜 메시지 (0) | 2020.08.06 |
[백준] [c++] 2609, 1934 최대공약수와 최소공배수 (0) | 2020.08.06 |
[백준] [c++] 1016 번 제곱ㄴㄴ수 (0) | 2020.08.06 |