OPENJUDGE 2755

#include <iostream>
#include<cstring>
using namespace std;

int main()
{
    int n,a[30],dp[21][41];
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }
    memset(dp,0,sizeof(dp));
    for(int i = 0; i <= n; i++){
        dp[i][0] = 1;
    }
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= 40; j++){
            dp[i][j] = dp[i-1][j] ;
            if( j - a[i] >= 0) dp[i][j]  += dp[i - 1][j - a[i]];
        }
    }
    cout << dp[n][40];
    return 0;
}
 

猜你喜欢

转载自blog.csdn.net/ehdhg13455/article/details/81448806
今日推荐