n 요소에 대한 바위 가위 - 종이 게임을 효율적으로 작성하려면 여기서 n은 홀수> = 3입니다. 환언 바위 종이 임의의 홀수 요소에 대한 가위
는, I는 각 요소는보다 큰되도록 N 원소 이외의 전이 완전한 순서를 원하는 (N-1)/2 다른 요소 각각 소자 (N-1)/2보다 작은 것이다 다른 요소.답변
항목의 번호가 0,1,2, ..., n-1이라고 가정합니다.
항목 i는 i - j (mod n) > (n-1)/2
인 경우 항목 j보다 높습니다. 내가 목록의 아래에있는 모든 항목을 친다
i - (n-1)/2, ..., i-2, i-1, i, i+1, i+2, ..., i + (n-1)/2
다음 항목 : 당신이 선택한 항목이 목록의 중간에되도록 목록을 회전 할 수 있습니다 즉
.
J 대 난의 행렬은 다음과 같이 보일 것이다 :
는0 1 2 3 4
0 - L L W W
1 W - L L W
2 W W - L L
3 L W W - L
4 L L W W -
이 유일한 가능성은 아니지만, 아마 간단합니다. 다음 규칙에 따라 행렬을 구성 할 수 있습니다.
- 대각선의 모든 값은 0입니다.
- 다른 값은 1 또는 -1 (win, lose)입니다.
- skew symmetric matrix입니다.
- 모든 행과 열에 정확히 (n-1)/2의 승패가 있습니다. 여기
다른 더 복잡한 예이다
0 1 2 3 4
0 - L W W L
1 W - W L L
2 L L - W W
3 L W L - W
4 W W L L -
또는 다른 방법으로 표현한 :
0 beats 2 and 3. 1 beats 0 and 2. 2 beats 3 and 4. 3 beats 1 and 4. 4 beats 0 and 1.
이 예에서이 가능할 수와 동일한 논리를 제공하는 상품의 레이블을 다시 지정하기를 이전 게임. 나는 그것이 일반적으로 생각하는 것을 의심한다.
+1. 좋은 구조! –
btw, 관심있는 분은 스코어 순서 s_i = (n-1)/2 인 en.wikipedia.org/wiki/Tournament_(graph_theory)의 토너먼트 그래프입니다. –
환상적입니다. 감사합니다.
또 다른 접근법 (사용자의 영향을 받음)으로 다음 (n-1)/2 요소에 k + 1 (mod n-1), k + 2 (mod n-1) .
뜨거운 팁 o : 자신의 질문에 대한 답을 추가하지 말고 자신의 질문 옆에있는 "수락 된 답변"-icon을 누르십시오. –
수락 된 답변에 동의했습니다. 분명한 점은 자신의 질문에 대한 답변이 매우 권장됩니다. 특히 이것은 별개의 대답이 될만한 가치가있는 것 같습니다. (독자의 입장에서 설득력을 발휘하고 의견을 남길 수있는 다른 응답자와의 대화를 준비하는 것이 좋습니다.) – dreeves
- 1. 파이썬의 바위, 종이 가위 게임에 문제가 있습니다.
- 2. 바위 위의 높이 찾기
- 3. jQuery로 본문 요소에 임의의 클래스를 추가하고 싶습니다.
- 4. 클래스 요소에 임의의 색상을 개별적으로 적용 하시겠습니까?
- 5. C# 정수를로드하고 홀수/홀수 표시
- 6. 요소에 대한 jQuery 동시 애니메이션
- 7. DOM 요소에 대한 TouchLeave
- 8. hl7 구성 요소에 대한.
- 9. KVO 바위. 이제 비동기 적으로 어떻게 사용합니까?
- 10. 홀수 문자
- 11. 한 번에리스트에서 임의의 두 요소에 대해 루프를 실행할 수 있습니까?
- 12. 종이 클립 오류
- 13. Heroku에서 종이 클립 디버깅
- 14. 임의의 값 형식에 대한 연산
- 15. 종이 클립 이미지 만
- 16. 바인딩되지 않은 요소에 대한 접두사
- 17. 이 요소에 대한 selenium.GetXpathCount는 어떻게됩니까?
- 18. 다른 활동의 요소에 대한 액세스
- 19. 관계가있는 지속적인 요소에 대한 질문
- 20. DOM 요소에 대한 참조 저장
- 21. 루트 요소에 대한 Jaxb 질문
- 22. Javascript - 포함 요소에 대한 이벤트로드
- 23. 특정 요소에 대한 BBCode 필터링
- 24. jQuery UpdatePanel의 요소에 대한 이벤트
- 25. 의사 요소에 대한 3D 변환
- 26. R 요소에 대한 산술 연산
- 27. mootool - 요소에 대한 맞춤 이벤트
- 28. cloned() jQuery 요소에 대한 작업
- 29. PHP 배열의 요소에 대한 참조
- 30. facebox 요소에 대한 참조 유지
효율적인 방법은 무엇입니까? 코드 밀도? 실행 가능한 크기 또는 속도? 메모리 사용? N은 얼마나 클 수 있습니까? –