题目

代码
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2023;
ll f[2][2023][2023];
int main()
{
f[0][0][0] = 1;
for(int i = 1; i <= 10; i++) //次数
{
for(int j = 0; j<= 2022; j++)
for(int k = 0; k <= 2022; k++)
f[i&1][j][k] = 0;
for(int j = 0; j <= 2022; j++) //上次
for(int k = j; k <= 2022; k++) //和
{
if(!f[i-1&1][j][k]) continue;
for(int t = j+1; t <= 2022; t++) //本次
if(k+t <= 2022) f[i&1][t][k+t] += f[i-1&1][j][k];
}
}
ll ans = 0;
for(int i = 1; i <= 2022; i++)
ans += f[10&1][i][2022];
cout << ans;
return 0;
}
