14 solutions
-
1
这道题 看了下 up 主 的视频,然后总结了下 自己的理解。确实 这种 思路 还是要有的,可能 对于 是小白的我,刚接触 是很难想到的。再接再厉。
#include <iostream> using namespace std; int main(void) { long long ans = 0; for (int a = 1; a <= 2021; ++a) { for (int b = 1; b <= 2021 - a; ++b) { for (int c = 1; c <= 2021 - a - b; ++c) { int de = 2021 - a - b - c;// d + e 的 总和 if (de >= 2) {// 只要 d + e 可以再 分出两个整数,就代表 我们这个 五个数是成立的 ans+= de -1;// 但是 那我们也要 从 1 开始选择 d 的值,才能够 得到 e 的值吧。然后 才算是一种方案。 //比如 5 是 d + e 的总和,那么 d = 1 的时候 e = 4 依此类推 你会发现 有 四种 方案 是满足的 // 也就是说 de - 1 总和数 - 1 等于 两个数 满足的 方案数。 } else { break; } } } } cout << ans << endl; return 0; }
Information
- ID
- 106
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- # Submissions
- 504
- Accepted
- 163
- Uploaded By