DP(6)
#include<cstdio> using namespace std; int dp[10][100]; int main(){ dp[0][0] = 1; for(int i = 1; i <= 9; i++)//位数; for(int j = 0; j <= 81; j++)//j = sum(i-1); if(dp[i-1][j])//判断sum(i-1)是否存在; for(int k = 0; k <= 9; k++)//num(i) = {0~9}; dp[i][j+k] += dp[i-1][j];//若存在,sum(i) = num(i) + sum(i-1); int n; scanf("%d",&n); int ans = dp[9][n]; if(n==1)ans++;//if(N == 1e9)sum(10) = 1; printf("%d\n",ans); return 0; }

浙公网安备 33010602011771号