You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R语言找出5名玩家分3人队和2人队的所有组队方案

5名玩家分成3人队和2人队的所有组合实现方法

现有5名玩家,需要找出分成3人队和2人队的所有可能组队组合,玩家列表如下:

players <- c("Ross", "Bobby", "Max", "Casper", "Jake")

实现思路

直接用combn函数生成所有3人队的组合,剩下的玩家自动组成对应的2人队。这样可以避免重复(比如选A、B、C为3人队,和选D、E为2人队是同一种分组,无需重复生成)。

代码实现

players <- c("Ross", "Bobby", "Max", "Casper", "Jake")

# 生成所有3人队的组合,simplify=FALSE返回列表格式
three_teams <- combn(players, 3, simplify = FALSE)

# 遍历每个3人队,生成对应的2人队,整理成包含两队的列表
all_team_combinations <- lapply(three_teams, function(team) {
  list(
    team_of_three = team,
    team_of_two = setdiff(players, team)
  )
})

# 查看所有组合
print(all_team_combinations)

输出示例

运行代码后会得到10组不重复的分组,其中一组为:

$team_of_three
[1] "Ross"   "Bobby"  "Casper"

$team_of_two
[1] "Max"  "Jake"

内容的提问来源于stack exchange,提问作者luciano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:52:02