题解
【入门】需要举办多少场足球赛?
1 条题解
-
0
解题思路
n 个球队,任意两个队都要比一场,问总共多少场比赛。
思路:组合数。
这就是从 n 个队里选 2 个队比赛,选法的总数是组合数 C(n,2):
场次 = n × (n-1) ÷ 2
为什么是这个公式? 每个队要和另外 n-1 个队比赛,所以看起来是 n×(n-1) 场。但 A 和 B 比赛与 B 和 A 比赛是同一场,被算了两遍,所以要除以 2。
举例:4 个队
- 场次 = 4×3÷2 = 6 场
参考代码
#include <iostream> using namespace std; int main() { int n; cin >> n; cout << n * (n - 1) / 2; // C(n,2) return 0; }复杂度分析
- 时间复杂度:O(1)
- 空间复杂度:O(1)
- 1