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

스틱 크로싱 게임의 승자 이름을 찾는 C++ 프로그램

<시간/>

두 개의 숫자 n과 k가 있다고 가정합니다. 아말과 비말이 게임을 하고 있습니다. 규칙은 간단합니다. Amal은 n개의 막대기를 연속으로 그립니다. 그 후 플레이어는 각 턴에서 왼쪽이나 오른쪽에서 정확히 k개의 막대기를 차례로 교차합니다. 아말이 게임을 시작합니다. 턴 전에 종이에 k개 미만의 스틱이 있으면 게임이 종료됩니다. Amal이 Bimal보다 엄격하게 더 많이 움직이면 이깁니다. 승자가 누구인지 찾아야 합니다.

따라서 입력이 n =10과 같으면; k =4이면 출력은 Bimal이 됩니다. Amal이 4개의 막대를 그어 버렸기 때문에 Bimal은 4개의 막대를 지우고 그 후에는 2개의 막대만 남습니다. Amal은 움직일 수 없습니다. 플레이어는 동일한 수의 이동을 하므로 Amal이 이기지 않습니다.

단계

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

if floor of (n / k) is even, then:
   return "Amal"
return "Bimal"

예시

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

#include <bits/stdc++.h>
using namespace std;

string solve(int n, int k) {
   if ((n / k) % 2 != 0) {
      return "Amal";
   }
   return "Bimal";
}
int main() {
   int n = 10;
   int k = 4;
   cout << solve(n, k) << endl;
}

입력

10, 4

출력

Bimal