다섯 개의 숫자 n, k1, k2, w 및 b가 있다고 가정합니다. 2 x n개의 셀과 첫 번째 행의 첫 번째 k1 셀이 있는 보드가 있으며 두 번째 행의 첫 번째 k2 셀은 흰색으로 표시됩니다. 다른 모든 셀은 검은색입니다. w 흰색 도미노와 b 검정색 도미노(2 x 1 크기)가 있습니다. 두 보드의 셀이 흰색이고 다른 도미노가 차지하지 않는 경우 보드에 흰색 도미노를 놓을 수 있습니다. 같은 방식으로 두 셀이 모두 검은색이고 다른 도미노가 차지하지 않으면 검은색 도미노를 놓을 수 있습니다. w+b 도미노를 가로, 세로 모두 놓을 경우 보드에 모두 놓을 수 있는지 확인해야 합니다.
따라서 입력이 n =5와 같으면; k1 =4; k2 =3; 승 =3; b =1이면 출력은 True가 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
if 2 * w <= (k1 + k2) and 2 * b <= (n - k1 + n - k2), then: return true Otherwise return false
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h>
using namespace std;
bool solve(int n, int k1, int k2, int w, int b) {
if (2 * w <= (k1 + k2) && 2 * b <= (n - k1 + n - k2)) {
return true;
}
else {
return false;
}
}
int main() {
int n = 5;
int k1 = 4;
int k2 = 3;
int w = 3;
int b = 1;
cout << solve(n, k1, k2, w, b) << endl;
} 입력
5, 4, 3, 3, 1
출력
1