ural 1353. Milliard Vasya's Function

這道題就是求從1到10^9中個位數字之和爲s的數的個數。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int dp[10][82];
void inti()
{
    memset(dp,0,sizeof(dp));
    dp[0][0]=1;
    for(int i=1; i<=9; i++)
    {
        for(int j=0; j<=i*9; j++)
        {
            for(int k=0; k<=9; k++)
            {
                if(j-k>=0)
                dp[i][j]+=dp[i-1][j-k];
            }
        }
    }
}

int main()
{
    inti();
    int n;
    scanf("%d",&n);
    if(n==1)
    {
        printf("10\n");
        return 0;
    }
    printf("%d\n",dp[9][n]);
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章