【发布时间】:2013-03-03 19:02:55
【问题描述】:
您将如何编写从数组 {1, 2, 3, ..., N-1, N} 中选择所有可能的三元组组合而不重复的东西?这是来自最近举办的编程比赛。 N 是 3 的倍数。
使用数组 {1,2,3,4,5,6} 的示例:
C_1 = { {1,2,3}, {4,5,6} }
C_2 = { {1,2,4}, {3,5,6} }
C_3 = { {1,2,5}, {3,4,6} }
都是有效的,但是
C_bad1 = { {1,2,3}, {3, 4, 5} }
C_bad2 = { {1,2,4}, {3, 5, 6}, {1, 2, 5} }
不是。
【问题讨论】:
-
{ {1,2,3}, {4,5,6} } 和 { {4,5,6}, {1,2,3} } 是不同的还是重复的? IE,对于 N = 6,是否有 20 到 10 种可能的三元组组合?
-
这些集合是重复的。问题是找出可以从 N 个学生中组成 3 人一组的方法的数量,并提供一个枚举(如上面的 C_i)。每个 C_i 将有 N/3 个成员。
-
TY。我从枚举的角度接近它,但还没有进展。
-
N 是 3 的倍数吗?
标签: c algorithm combinations