HDU4734--F(x) HDU(150)

数位DP,真男人不解释。
#include 
#include 
#include 
#include 
#define K ((1<<9)*9)
using namespace std;

int T, A, B, dp[9][10][K];

inline void init()
{
    memset(dp, 0, sizeof(dp));
    for(int j = 0; j < 10; ++j)
        for(int k = j; k < K; ++k)
            dp[0][j][k] = 1;
    for(int i = 1; i < 9; ++i)
        for(int j = 0; j < 10; ++j)
            for(int k = 0; k < K; ++k)
                for(int l = 0; l < 10 && (k-j*(1<= 0; ++l)
                    dp[i][j][k] += dp[i-1][l][k-j*(1<= 0; --i)
    {
        for(int j = 0; j < a[i]; ++j)
            ret += dp[i][j][x];
        x -= a[i]*(1<

你可能感兴趣的:(ACM2013成都网赛)