gpt4 book ai didi

java - 如何在玩家之间创建时间表

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:10 26 4
gpt4 key购买 nike

我有团体 map 。每个组都有玩家列表:

Map<String, List<Player>> playerByGroup = new LinkedHashMap<String, List<Player>>();

例如:

map 包含:

 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 ...

应该只有 18 轮,因为一名球员应该与 18 名球员一起比赛。

问题:

问题是只创建 18 轮,每轮一个玩家只玩一次

最佳答案

我会举例说明答案。 很容易为一般情况扩展它。

将你的轮次分成三个主要组,这样我们每组有 6 个轮次。

在六轮的第一盘中:

A组的所有玩家将对B组的所有玩家进行游戏,C组的所有玩家将对D组的所有玩家进行游戏。

在第二盘中,A 组的所有球员将与 C 组的所有球员比赛,B 组的所有球员将与 D 组的所有球员比赛。第三局A组所有选手对D组所有选手,B组所有选手对C组所有选手。

关于java - 如何在玩家之间创建时间表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12244928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com