[BOJ 25682] 체스판 다시 칠하기
생각보다 조금 귀찮은 문제다. 일단 기본적인 아이디어는, 누적 합 배열을 이용하는 것이다. 가장 왼쪽 위 칸이 흰색일 때(WBWB...)와 검은색일 때(BWBW...)로 구분하여 새로 칠해야 할 칸의 수를 2차원 누적 합 배열로 미리 저장해둔다. 그리고 일일이 가능한 모든 경우를 검토하면서 정답을 구한다. #include #define MIN(a, b) ((a) < (b) ? (a) : (b)) int n, m, k; int w[2001][2001], b[2001][2001]; int main(void) { scanf("%d %d %d", &n, &m, &k); getchar(); for (int i = 1; i
2023.04.29