zoukankan      html  css  js  c++  java
  • NYOJ 236 VF

    状态迁移方程为:dp[i][j] += dp[i-1][j-k],dp[i][j]表示前i位数字的和为j,假设第i位数字为k,
    则前i为数字之和则为dp[i-1][j-k];(0<=k<=j)
     1 #include<iostream>
     2 using namespace std;
     3 int dp[11][82];
     4 void fn()
     5 {
     6     int i,j,k;
     7     for(i = 1; i < 10; ++i)
     8         dp[1][i] = 1;
     9     for(i = 1; i < 10; ++i)
    10         for(j = 1; j <= 9*i; ++j)
    11             for(k = 0; k < 10 && k <= j; ++k)
    12                 dp[i][j] += dp[i-1][j-k];
    13 }
    14 int main()
    15 {
    16     int i,n,ans;
    17     fn();
    18     while(cin>>n)
    19     {
    20         ans = 0;
    21         if(n==1) ans = 1;
    22         for(i = 1; i < 10; ++i)
    23             ans += dp[i][n];
    24         cout<<ans<<endl;
    25     }
    26     return 0;
    27 }
  • 相关阅读:
    Python基础
    熟悉常见的Linux操作
    大数据概述
    实验报告(3)-语法分析
    LL(1)文法
    简化版C语言文法
    实验报告(1)-词法分析
    中文词频统计
    综合练习:英文词频统计
    字符串练习
  • 原文地址:https://www.cnblogs.com/yaling/p/3027158.html
Copyright © 2011-2022 走看看