Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 프로그램을 통해 색상이 지정된 셀에 도미노를 올바른 순서로 배치할 수 있는지 확인합니다.

<시간/>

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