2010-05-30 6 views
7

n 요소에 대한 바위 가위 - 종이 게임을 효율적으로 작성하려면 여기서 n은 홀수> = 3입니다. 환언 바위 종이 임의의 홀수 요소에 대한 가위

는, I는 각 요소는보다 큰되도록 N 원소 이외의 전이 완전한 순서를 원하는 (N-1)/2 다른 요소 각각 소자 (N-1)/2보다 작은 것이다 다른 요소.

+0

효율적인 방법은 무엇입니까? 코드 밀도? 실행 가능한 크기 또는 속도? 메모리 사용? N은 얼마나 클 수 있습니까? –

답변

7

항목의 번호가 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. 

이 예에서이 가능할 수와 동일한 논리를 제공하는 상품의 레이블을 다시 지정하기를 이전 게임. 나는 그것이 일반적으로 생각하는 것을 의심한다.

+0

+1. 좋은 구조! –

+0

btw, 관심있는 분은 스코어 순서 s_i = (n-1)/2 인 en.wikipedia.org/wiki/Tournament_(graph_theory)의 토너먼트 그래프입니다. –

3

환상적입니다. 감사합니다.

또 다른 접근법 (사용자의 영향을 받음)으로 다음 (n-1)/2 요소에 k + 1 (mod n-1), k + 2 (mod n-1) .

+4

뜨거운 팁 o : 자신의 질문에 대한 답을 추가하지 말고 자신의 질문 옆에있는 "수락 된 답변"-icon을 누르십시오. –

+0

수락 된 답변에 동의했습니다. 분명한 점은 자신의 질문에 대한 답변이 매우 권장됩니다. 특히 이것은 별개의 대답이 될만한 가치가있는 것 같습니다. (독자의 입장에서 설득력을 발휘하고 의견을 남길 수있는 다른 응답자와의 대화를 준비하는 것이 좋습니다.) – dreeves