你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
HDU 1267——下沙的沙子有几粒?
 
相当水的DP,状态方程也很简单:dp(m,n)=dp(m,n-1)+dp(m-1,n),其中m<n的话排列的情况不存在。
dp的精髓就是状态方程。
[cpp] 
#include <iostream>  
#include <cstring>  
using namespace std;  
  
__int64 dp[21][21];  
  
int main()  
{  
    int m,n;  
    while(cin>>m>>n)  
    {  
        memset(dp,0,sizeof(dp));  
        if(m<n)  
        {  
            cout<<0<<endl;  
            continue;  
        }  
        else  
        {     
            for(int a=1;a<=m;a++)  
            {  
                dp[a][0]=1;  
            }  
            for(int i=1;i<=20;i++)  
            {  
                for(int j=1;j<=i;j++)  
                {  
                    dp[i][j]=dp[i][j-1]+dp[i-1][j];  
                }  
            }  
          
            cout<<dp[m][n]<<endl;  
        }  
          
    }  
      
      
      
    return 0;  
}   
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089