問題描述: 有A、B兩個隊,各有N個隊員,現在要舉行團體單迴圈對抗賽,即進行N輪比賽,使A隊的每個隊員都要和B隊的所有選手交手一次。
要求做出對陣編排表,達到:
1、每個選手都和對方的所有選手交手一次。
2、第3輪及以後各輪結束時,每個選手自己的先後手數差值的絕對值不大於1。
3、每輪對陣時,每個隊伍的先手隊員數和後手隊員數相差至多為1(即每個隊伍都儘可能一半先手,一半後手)。
以7人制團體對抗為例,設A隊的5名隊員為1,2,3,4,5,6,7 。B隊的7名隊員為8,9,10,11,12,13,14。
則各輪編排的過程如下:
第一輪編排過程
1、第一輪的配對方法,將A隊的所有隊員寫在上邊,B隊的所有隊員下邊,然後一一配對。如下所示
A隊隊員: 1 2 3 4 5 6 7
B隊隊員: 8 9 10 11 12 13 14
配對錶為:
1-8
2-9
3-10
4-11
5-12
6-13
7-14
2、先後手的確定:
本輪A為主隊,B為客隊。
單數台次隊主隊先手,雙數台次客隊先手。
所以,第一輪的最終編排表為
第1台: (1)-8
第2台: 2-(9)
第3台: (3)-10
第4台: 4-(11)
第5台: (5)-12
第6台: 6-(13)
第7台: (7)-14
加括弧的選手執先手,下同。
至此第一輪的編排結束。
以後各輪的編排步驟是(以第2輪為例):
1、確定本輪優先坐第一台先手的隊,稱為(本輪)主隊。另一隊稱為(本輪)客隊。確定的原則為:單數輪次A為主隊。雙數輪次B為客隊。
故第2輪B為主隊,A為客隊。第一台主隊執先,客隊執後。
2、根據下列次序從主隊選拔應該坐在第一台執先的選手,當某一步只剩一個候選者時,選拔結束:
(1)找出主隊中先手數最少的選手。
例:B隊的8,10,12,14號的先手數均為0。現在8,10,12,14均為候選者。
(2)當多個選手先手數一樣時,則繼續篩選上輪執後的。
例:8,10,12,14號均上輪執後。候選者列表仍然為{8,10,12,14}
(3)無法根據先後手情況區分選手時,繼續選擇尚未坐過第一台的選手。
例:8號坐過第一台,被淘汰。現在的候選者列表為{10,12,14}
(4)當有多個選手都未坐過第一台時,則最終選擇編號最小的那個。
所以最終由B隊的10號在第一台執先。
以後設主隊第一台的選手為X。其對手為Y
3、客隊第一台選手Y的選拔步驟:
(1)找出尚未和X交手過的所有選手。
例:A隊中尚未和10號交手的有1,2,4,5,6,7,進入初選的候選者列表為{1,2,4,5,6,7}。
(2)若有多個候選者,則從X的候選對手列表中找出後手數最少的。
例:1, 5,7的後手數為0,4,6號後手數為1,故4,6號被淘汰。1,5,7進入下輪選拔。
(3)當多個選手後手數一樣時,篩選出上輪執先的選手。
1,5,7均上輪執先。候選者列表仍然為{1,5,7}
(4)當多個選手均上輪執先時,繼續篩選出尚未坐過第一台的選手。
1在第一輪坐過第一台,被淘汰。還剩兩候選者:{5,7}。
(5)當有多個選手都未坐過第一台時,則選擇編號最小的那個。
最終第二輪客隊的第一台選手是5。
所以第二輪第一台的配對結果為10號先手對5號。
4、其他各台的配對辦法
按從首台開始,將兩個隊的其他隊員按編號遞增的順序寫在第一台的下面。當寫到本隊的最後一個對員時,其下一台的隊員是本隊編號最小的那個隊員,
以後各台的選編號再繼續遞增。
故第2輪的配對結果為:
10- 5
11-6
12- 7
13- 1
14-2
8- 3
9-4
5、先後手的確定辦法:主隊中上輪執後的所有選手本輪執先,其對手執後。主隊中所有上輪執先的選手本輪執後,其對手本輪執先。所以第二輪的最終對陣表為
(10)- 5
11-(6)
(12)- 7
13- (1)
(14)-2
(8)- 3
9-(4)
至此第二輪編排完畢。以後各輪可依此類推,為方便讀者,將以後各輪的主要步驟和結果一併寫出
第三輪:A為主隊,第一台選手為2,B為客隊,第一台選手為12,對陣表為
(2)-12
(3)-13
4-(14)
(5)-8
6-(9)
(7)-10
1-(11)