치트는 당신이 당신의 손을 제거하려고하는 카드 게임입니다. 턴은 대략 다음과 같이 보입니다 :
- 그 턴에 어떤 카드 등급을 사용해야하는지 결정하십시오. 대부분의 변형에서 이것은 이전 턴보다 한 등급 높습니다.
- 1-4 장의 카드를 뒤집어 놓습니다. 이들은 유효한 순위와 일치하지 않아도됩니다. 그렇지 않으면 치트로 간주됩니다 . 이 시점에서 모든 플레이어가 당신 에게 도전 할 수 있습니다.
- 아무도 당신에게 도전하지 않으면, 다음 플레이어에게 계속 플레이합니다.
- 누군가 당신에게 도전하고 속이지 않았다면, 그들은 모든 카드를 가져 가야합니다.
- 누군가 당신에게 도전하고 속임수를 쓴다면, 당신은 모든 카드를 가져 가야합니다.
이 전략은 주로 블러핑과 카드 카운팅의 혼합입니다. 나는 수학에 나쁘다. 그래서 나는 치트에서 바람을 피우고 봇을 가져갈 것이다.
입력
입력은 원하는 순서 또는 형식으로 수행됩니다.
- 플레이어의 손. 카드가 있어야한다는 것을 알고있는 경우 (예 : 카드를 픽업 한 것을 본 경우) 오름차순으로 나열됩니다. 알 수없는 항목은 이후에로 표시됩니다
?
. 예를 들어, 6 장의 카드가 있고 2가 1이고 1이 4 인 경우 손의 유효한 표현은입니다114???
. ?는 항상 알려진 카드 뒤에 표시됩니다.141???
그리고11???4
모두 유효하지 않은 입력하고 코드가 그들을 처리 할 필요가 없습니다. - 내가 아는 카드는 그들의 손의 일부가 아닙니다. 목록은 순위가 오름차순으로 표시됩니다. 목록이 비어있을 수 있습니다.
- 플레이어가 주장한 카드. 그들이 3 7을 연주한다고 주장한다면, 가능한 입력은 다음과 같습니다
777
. 카드는 항상 같은 순위입니다.
카드의 수는 항상 1-4이고 순위는 항상 0-9입니다. 순위는 손이 아닌 손에 4 번 이상 나타나지 않습니다.
다음은 유효한 입력 예입니다.
33577??
01555688
55
다음은 유효하지 않은 입력 예입니다.
35377?? # Out of order
7779 # Five 7's in total
23 # Two separate ranks played
산출
우리가 반드시 도전 해야한다면 진실한 가치 . 우리가 도전하고 싶지 않을 경우 거짓 값.
그들이 속이는 것을 알고 있으면 항상 도전합니다. 우리는 그들이 가질 수 없었던 카드를 썼을 때 속이는 것을 알고 있습니다 :
12
3 # They don't have any 3's or ?'s
-------------
12?
33 # Fewer ?'s than played cards
-------------
123?
333
33 # Since we have three 3's they can't have two
우리가 도전하는 다른 시간은 마지막 카드를 사용하는 것입니다. 놀이가 합법적이라해도 게임을 끝내면 우리는 도전 할 수 있습니다.
1
1 # They'd win, so challenge anyway
더 많은 테스트 사례
Truthy (도전해야 함)
11445678?
22
-------------
????????
4
4444
-------------
12345678
9
팔시 (챌린지해서는 안 됨)
1?
222
2
-------------
12?
22
22
-------------
?????
1111
채점
가장 짧은 코드가 승리합니다.