| [ QuizWit ] in KIDS 글 쓴 이(By): parsec ( 먼 소 류 ) 날 짜 (Date): 2002년 5월 29일 수요일 오후 03시 31분 08초 제 목(Title): Re: 간단한(?) 조합문제 n x n table M을 만듭니다. M(i,j) 에서 i=j 인 곳에 쓰기 금지 표시를 합니다. M(i,j) == M(j,i) 입니다. i,j: 1...n i=1부터 n까지, 각각 j를 1부터 n까지 증가시키면서, i == j 이면 아무 숫자도 넣지 말고, 이미 숫자가 입력돼 있어도 건너뜀. 그렇지 않으면 M(i,j) 와 M(j,i) 에, 1부터 n(n이 짝수이면 n-1)까지의 숫자중에서 M(i,1) ~ M(i,j-1) 과 M(j,1) ~ M(j,i-1) 에 나온 수 중 가장 큰 수에 1을 더하고 n이 짝수면 n으로 나눈 나머지를, n이 홀수면 n+1로 나눈 나머지를 구한 다음 다시 M(i,1) ~ M(i,j-1) 과 M(j,1) ~ M(j,i-1) 에 나오지 않은 수가 될때까지 1씩 증가시 켜나간다음 그 수를 기록합니다. 이렇게 하면 i번째 팀과 j번째 팀의 대진날짜가 M(i,j)로 정해질 수 있습니다. n =5, 6일 때의 예: n=5 n=6 팀 A B C D E 팀 A B C D E F A X 1 2 3 4 A X 1 2 3 4 5 B 1 X 3 4 5 B 1 X 3 4 5 2 C 2 3 X 5 1 C 2 3 X 5 1 4 D 3 4 5 X 2 D 3 4 5 X 2 1 E 4 5 1 2 X E 4 5 1 2 X 3 F 5 2 4 1 3 X 대진표: n=5: n=6: 1일: A-B, C-E 1일: A-B, C-E, D-F 2일: A-C, D-E 2일: A-C, B-F, D-E 3일: A-D, B-C 3일: A-D, B-C, E-F 4일: A-E, B-5 4일: A-E, B-D, C-F 5일: B-E, C-D 5일: A-F, B-E, C-D ◇ ~~~_ _ ∴ ~|~| | _/__, SEP. 11. 2001 _ ∴∴ _ ~ | | \ ` Armorica under a tat ,-| `,-,_| |__ | | | A ______|_|__|_|___|__|| | |__|_|_____________________________________ |