알고리즘을 찾고, 누군가가 다음을하기 위해 관대하다면 코드를 작성하십시오. 많은 선수들에게 의견을 제시해야합니다. 플레이어 수는 항상 4입니다. 개별 플레이어를 최소 반복 횟수로 4 그룹으로 그룹화하고자합니다. 초기 배치는 간단합니다 :분류 알고리즘 - 토너먼트
1 2 3 4 Table 1
5 6 7 8 Table 2
9 10 11 12 Table 3
13 14 15 16 Table 4
17 18 19 20 Table 5
21 22 23 24 Table 6
따라서 플레이어 1-4는 서로 "본"적이 있습니다. 모든 사람이 게임을하고 플레이어가 섞입니다. 다음 패스 (및 후속 패스)에서 플레이어를 재 배열하여 가장 적은 양의 오버랩을 만들려고합니다. 기본적으로 플레이어가 가능한 한 오랫동안 반복 된 얼굴을 보지 못하도록하고 싶습니다. 일단 더 이상 가능하지 않게되면 가능한 한 최소화하려고합니다.
나는이 알고리즘이 비교적 단순해야한다고 생각하지만, 내가 취하는 모든 접근법은 처음에는 처리되는 사람들에게 유리하게 작용한다고 느낀다. 내 직감/마음은 절대적으로 정답.
명확성을 위해 아무도 제거되지 않으며 매번 변경됩니다.
당신이 시도한 것을 게시하는 것이 일반적입니다. 그래서 우리는 이미 배제 된 것을 제안하지 않습니다. 당신은 또한 당신이 사용하고있는 언어를 나타내지 않았기 때문에 나는 생각을 제안 할 수 없습니다. –
저는 C++을 사용하고 있지만 어떤 언어인지는 신경 쓰지 않습니다. 생각 프로세스/의사 코드에 더 관심이 있습니다. 처음에 취한 일반적인 접근 방식은 각 "플레이어"를 반복하여 이전에 가장 앉아있는 사람과 함께 앉는 것이 었습니다. 그러나 저 지수 선수들에게 무겁게 비중을 두었습니다. 어떤 Java/C/C++/.NET/PHP 제안을 사용할 수 있습니다. – JamesB41
몇 라운드가 필요한가요? – Svante