洛谷
Codeforces
题目思路本题第一眼可以看出是一道暴力枚举,但是不能用三层 for 循环, 超时。
所以我们可以先从 升的可乐循环,通过前两个循环来推算出 升可乐的数量。
注意:本题的 为 而 为整型,第一层循环要两个两个加
代码#includeusing namespace std; int main() { int n, a, b, c, ans = 0; cin >> n >> a >> b >> c; for (int i = 0; i <= a; i += 2) { for (int j = 0; j <= c; j++) { if (n - (i / 2 + j * 2) <= b && n - (i / 2 + j * 2) >= 0) { ans++; } } } cout << ans << endl; return 0; }
本文章同时发布在 洛谷博客 和 Github 博客



