参考博客:https://blog.csdn.net/riba2534/article/details/78241594
#include <iostream>
#include <cstring>
using namespace std;
int dp[27][55];
int dict[27];
int main()
{
int n;
cin >> n;
while(n--)
{
for(int i = 1; i <= 26; i++)
cin >> dict[i];
memset(dp, 0, sizeof(dp));
dp[0][0]= 1;
for(int i = 1; i <= 26; i++)
for(int j = 0; j <= 50; j++)
for(int k = 0; k <= dict[i] && k*i <= j; k++)
dp[i][j] += dp[i-1][j-k*i];
int ans = 0;
for(int i = 1; i <= 50; i++)
ans += dp[26][i];
cout << ans << endl;
}
return 0;
}