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 }
  • 相关阅读:
    soap-学习
    Redis教程
    Java 不可变对象
    java volatile
    Go语言
    mongodb 基础语法
    Linux 命令大全
    Java json字符串对比
    sqlserver 数据库阻塞和死锁
    http 和 https 的区别
  • 原文地址:https://www.cnblogs.com/yaling/p/3027158.html
Copyright © 2011-2022 走看看