Monty Hall Problem 시뮬레이션 에 대한 질문이 이미있었습니다 . 이것은 다릅니다. 사용자는 것입니다 재생 몬티 홀 문제. 귀하의 프로그램은 호스트의 역할을합니다. 몬티 봇, 원한다면
단계는 다음과 같습니다.
- 세 문 중 어느 것이 상을 숨기는지를 선택하십시오.
- 3 개의 문을 시각적으로 표시합니다. 간단한
ABC
것입니다. 또는 세 개의 사각형. 또는 무엇이든. - 문 중 하나를 선택하여 입력을받습니다. 선택한 문을 마우스로 클릭하거나 문자 입력 (
B
) 등을 할 수 있습니다 . - 다른 문을여십시오. 선택한 문을 열지 않습니다. 주요 상품을 숨기고있는 문을 열지 마십시오. 즉 수 있습니다 당신은 선택의 여지가 의미, 또는 수 있습니다 당신은 두 가지 선택의 여지가 있음을 의미한다. 둘 중 하나를 선택할 수 있다면 무작위로 하나를 선택하십시오. 문이 열렸고 그 뒤에 숨겨진 상이 없음을 시각적으로 나타냅니다. 프로그램 텍스트 기반 입력 / 출력의 경우,
AB0
문C
이 열렸 음을 표시하기 위해 출력하는 것만 큼 간단 할 수 있습니다 . 더 창의력을 발휘하십시오. GUI 프로그램을 사용하는 경우 디스플레이 선택은 전적으로 귀하에게 달려 있습니다. - 사용자의 입력을 수락하십시오. 사용자는 입력
stick
하거나switch
GUI 프로그램의 경우 버튼을 클릭하거나 선택 입력 등을 사용할 수 있습니다. 사용자가stick
또는 이외의 다른 것을 입력switch
하면 구현이 정의되지 않습니다. 너가 원하는 것을해라. - 텍스트
You won!
또는을 출력하십시오You lost
. - 프로그램을 종료하십시오.
규칙 :
- 무작위로 무언가를 선택해야 할 때 암호화 무작위성에 대해 걱정하지 마십시오. 모든
rand()
기능이 가능합니다. - 프로그램은 속이지 않아야합니다. 게임이 시작되기 전에 상이 있어야합니다. 즉, 단계는 주어진 순서대로 수행되어야합니다. 먼저 상을 숨길 문 을 선택한 다음 플레이어에게 선택하도록 요청하십시오. 4 단계에서 어떤 문을 열지 선택하는 것은 4 단계에서 이루어져야합니다. 미리 선택되어 있지 않습니다.
- 6 단계의 출력은 정직해야합니다.
- 이것은 코드 골프입니다. 가장 짧은 코드가 승리합니다.
나는이 사이트에 처음으로 게시하지만 많이 숨어 있기 때문에 나는 당신의 규범에 익숙 하다고 생각 합니다.
—
TRiG
meta.codegolf.stackexchange.com에는 질문을 제안하고 사람들이 공식적으로 게시되기 전에 문제를 해결할 수있는 스레드가 있습니다. 다림질 될 수있는 여기에 특별히 잘못된 것이 있는지 모르겠지만 다음 번에 알아 두는 것이 좋습니다.
—
undergroundmonorail
나는 승자가 또 다른 golfscript 대답은 ... 될 것이라고 미리보기입니다
—
빅터 Stafusa
BTW, "창조적"은 코드 골프와 잘 맞지 않습니다. 발명 적이라는 것은 약간의 바이트를 소비하고 코드 골프의 목적은 이와 반대이기 때문입니다.
—
Victor Stafusa
예, @ 빅터 독창적 인 것은 필수 요건이 아닙니다. 나는 단지 (a) 이것을 명령 줄 프로그램으로 제한하고 싶지 않았으며, (b) 비 명령 줄 프로그램이 어떻게 사용자 선택을 구현해야하는지 전혀 몰랐다. 그래서 나는 그것을 응답자에게 맡겼습니다. 독창적 인 것은 선택 사항이지만 추가 포인트를 얻지 못하는 옵션입니다.
—
TRiG