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

팩 크기를 확인하는 C++ 코드는 지정된 범위에서 결정할 수 있습니다.

<시간/>

두 개의 숫자 l과 r이 있다고 가정합니다. 상점이 있고 우리는 ''개의 식품이 있는 식품 용기를 할인된 가격으로 판매하려고 하고 일부 고객은 x 식품을 구매하기를 원합니다. 탐욕스러운 전략을 따르는 고객 -

  • 그는 할인된 가격으로 (x/a) 팩을 구매합니다.

  • 그런 다음 남은 (x mod a) 식품을 하나씩 구매하려고 합니다.

그러나 고객은 욕심이 많아서 (x mod a) 식품을 하나씩 구매하려고 하는데 (x mod a) ≥ a/2일 경우 식품을 한 팩 전체 구매하기로 결정합니다. 고객은 l에서 r(둘 다 포함) 범위의 식품을 원하는 만큼 구입할 수 있습니다. 각 고객이 처음에 원했던 것보다 더 많은 캔을 구매하는 그러한 크기의 팩을 선택할 수 있는지 확인해야 합니다.

따라서 입력이 l =3과 같으면; r =4이면 출력은 True가 됩니다. 왜냐하면 a =5이면 3개 또는 4개의 캔을 사고 싶다면 한 팩을 살 수 있기 때문입니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

if r / 2 >= l, then:
   return false
Otherwise
   return true

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
bool solve(int l, int r){
   if (r / 2 >= l)
      return false;
   else
      return true;
}
int main(){
   int l = 3;
   int r = 4;
   cout << solve(l, r) << endl;
}

입력

3,4

출력

1