다섯 개의 숫자 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