グループのマップがあります。各グループにはプレイヤーのリストがあります:
Map<String, List<Player>> playerByGroup = new LinkedHashMap<String, List<Player>>();
例えば:
マップには以下が含まれます:
group A: players 1 2 3 4 5 6
group B: players 7 8 9 10 11 12
group C: players 13 14 15 16 17 18
group D: players 19 20 21 22 23 24
今、私はスケジュールを作成する必要があります。すべてのグループの各プレーヤーは、別のグループのプレーヤーと一緒にプレーする必要があります
例えば:
プレーヤー 1 は、プレーヤー 7 - 24 のプレーヤーである必要がありますが、プレーヤー 2 - 6 のプレーヤーではありません。
これは作成する問題ではありません
しかし、今私は問題があります:
numberOfPlayer/2 のゲームを含むラウンドを作成する必要があります。ラウンドでは、すべてのプレイヤーが一度だけプレイできます
例えば
1.round should be looks like:
1.game 1 vs 7
2.game 13 vs 19
3.game 3 vs 9
4.game 14 vs 20
5.game 2 vs 8
6.game 15 vs 21
7.game 4 vs 10
8.game 16 vs 22
9.game 5 vs 11
10.game 17 vs 23
11.game 6 vs 12
12.game 18 vs 24
2.round ...
1 人のプレイヤーは 18 人のプレイヤーとプレイする必要があるため、18 ラウンドだけにする必要があります。
問題:
問題は、各ラウンドで 1 人のプレーヤーが 1 回だけプレイする 18 ラウンドを作成することです。