2명의 플레이어가 게임을 함
0~9까지의 숫자중에 중복을 허용하지않고
4개의 자리에 배열해야함 이게 자기 고유번호.
상대방의 고유번호를 맞히면 승리.
질문은 상대방에게 숫자를 말하면 상대방이 그 숫자에 대해
다음과같은 행동을 취함.
1. 볼
숫자는 맞는데 위치가 틀린경우.
예를들어
내가 생각한숫자가 3492인데 상대방이
0981이라고 했으면 1볼
상대방이 0938이라 했으면 2볼.. 이런식
2. 스트라이크
숫자도 맞고 위치도맞는경우
마찬가지로 내가 생각한 숫자가 3492인데
상대방이 0478 했으면 1스트라이크.
상대방이 8394 했으면 1스트라이크 2볼 이런식.
물론 어느숫자가 볼이고 스트라이크인지는 안알려주고, 볼개수,스트라이크 개수만 알려주는거지.
3. 아웃
아무 것도 아닌 경우
내가 생각한 숫자가 3492인데
상대방이 0781 했으면 아웃
이렇게 다음과같이 각턴마다 턴이돌아가면서 질문을 해서
최종적으로 상대방 숫자를 맞추면 되는데,
질문을 최소로 해서 이기는 최선의 전략을 짠다고 가정하면
이 전략안에서 최대 몇번질문 해야 완벽하게 상대방 숫자를 알수있음? (최악의경우에도 몇번이면 끝난다.를 알고싶은것)
- dc official App
중복을 허용하지 않았을 때, 648번
이 댓글은 게시물 작성자가 삭제하였습니다.
648번이 어떻게해서 나온거임 최소질문으로 이기는 전략을 짠상태에서 나올수있는 최악의경우가 그렇게나큼? - dc App
9×9×8
아닌거같음. 최소질문으로이기는 전략이아니더라도 50번 안쪽임 - dc App
0~9까지이니까 맞음. 물론, 스트라이크 볼 아웃 등을 이용하면 빨리 맞추는게 가능한데 "최대횟수"를 물어본거니까
최소질문으로 맞히려는 목적에서, 최악의 경우에 몇번까지 질문해야되냐는거잖아. 누가 경우의 수 다세라그랫나. 그럴거면 최소의 질문 이딴게아니라 총경우의수를 물엇겟지
우선 최선으로 이기는 방법도 안나왔는데 그걸 계산하긴 힘들지 않을까
숫자 4개를 알아낸다=>최대 10회 4개의 자리를 알아낸다=>최대 10회 내 머리로는 이정도까지만 줄일 수 있겠다
인터넷에 풀어주는 프로그램도 있고 4번인가 5번인가 그럼
아 7번인가 몰라 찾아봐