카테고리 없음

[씨] c에서 마스터 마인드 추측 게임에서 "백색"을 올바르게 계산하는 방법은 무엇입니까?

행복을전해요 2021. 1. 6. 04:41

제안 된 대안 (의사 코드) :

업데이트 (세부 사항)

나는 이것이 그것을해야한다고 생각한다 : 우리는 현재 슬롯이 아닌 다른 슬롯, 완벽한 (검은 색) 일치가 아닌 슬롯을 확인하고 있으며, 이전에 흑인 또는 백인을 표시하는 데 사용되지 않았습니다.

-------------------

Knuth는 The Computer as Master Mind 에서이 질문에 답 하고 정확하게 정의하기 어렵다는 것을 인정합니다. 그는 이것을 제안합니다 :

  1. 답변의 각 위치를 현재 추측의 동일한 위치와 비교하여 흑인의 수를 계산합니다.
  2. 아래와 같이 백인과 흑인의 수를 계산하십시오.
  3. 흰색의 수를 얻으려면 (2)에서 (1)을 빼십시오.

흰색과 검은 색을 계산하려면 :

  1. 두 개의 배열을 확인, ansguess각 색상의 슬롯.
  2. 각 색상 ans에 대해 답에서 해당 색상의 못 수로 채 웁니다 . 마찬가지로 guess현재 추측에서 해당 색상의 못 수로 채 웁니다 .
  3. 추가 할 min(ans[i], guess[i])i. 이것은 백인과 흑인입니다.
-------------------

이 시도:

-------------------

Knuth가 흰색 및 검은 색 못의 수를 결정하는 4 단계 알고리즘을 제공했다는 설명이 4 단계에서 잘못되었습니다.

4 단계는 단순히 4-3 단계에서 반환 된 숫자를 반환합니다. 4 단계는 "누락"수를 반환합니다. 즉, 검은 색 또는 흰색 말뚝이 아닙니다.

3 단계를 사용하여 총 백인과 등의 수를 계산하십시오. 간단한 방법을 사용하여 검정 못의 수를 계산하십시오.

그리고 당연히 백인 = 3 단계-검정색 못의 수 (b).



출처
https://stackoverflow.com/questions/2005808