1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int C(int n, int k) { if (k < 0 || k > n) return 0; long long res = 1; for (int i = 1; i <= k; ++i) { res = res * (n - k + i) / i; // 边乘边除,避免溢出 } return res; } int main() { int a; cin >> a; int d = 100 - a; int ans = 0; for (int k = 0; k * 2 <= d; ++k) {// 2 的位置够放时,继续添加 2 的位置,2的位置放好了,1的位置就自动确定了 ans += C(d - k, k); // 在这些 2 的位置中选2放 } cout << ans << endl; return 0; }
信息
- ID
- 511
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 51
- 已通过
- 13
- 上传者