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

C++에서 코인 게임의 승자 예측

<시간/>

이 게임에는 두 명의 플레이어 X와 Y가 있습니다. 우리의 임무는 둘 다 최적의 플레이를 하고 X가 게임을 시작하는 경우 누가 게임에서 승리할지 예측하는 것입니다.

게임

코인 게임에는 N과 M개의 코인이 있는 두 개의 더미가 있습니다. 플레이어 중 한 명이 게임에 사용할 더미 중 하나를 선택합니다. 그런 다음 한 플레이어가 더 이상 더미를 나눌 수 없을 때까지 더미를 두 개의 반으로 나누는 작업입니다.

문제를 이해하기 위해 예를 들어보겠습니다.

Input: M = 2 , N = 2
Output:X

설명 - X는 게임을 시작하고 M 더미(둘 다 동일)를 선택하고 더미를 둘로 나눕니다. 이제 각각에는 하나의 동전만 포함되므로 Y는 이동하지 않고 남게 됩니다. 이것은 X를 이길 것입니다.

이 문제를 해결하려면 플레이어 X가 이길 확률을 봐야 합니다. 플레이어 X가 승리하는 경우는 더미 중 하나에 짝수 개의 동전이 있을 때입니다. 그렇지 않으면 Y가 승자가 됩니다.

로직 구현을 보여주는 프로그램

예시

#include <iostream>
using namespace std;
int isXWinner(int M, int N) {
   if (M % 2 == 0 || N % 2 == 0)
   return 1;
   return 0;
}
int main() {
   int M = 1, N = 2;
   cout<<"Game Starts!\n";
   if(isXWinner(M,N))
      cout<<"Player X is the Winner";
   else
      cout<<"Player Y is the Winner";
   return 0;
}

출력

Game Starts!
Player X is the Winner