日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 下沙的沙子有几粒

發(fā)布時間:2023/12/19 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 下沙的沙子有几粒 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目網(wǎng)址:??? http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=3&problemid=9

分析,這題其實是H和D的組合排列問題,只不過要考慮期間累計的H和D的數(shù)量關(guān)系。

用DP來做,可以推導出:

dp[i][j] = dp[i-1][j] + dp[i][j-1]

dp[][]前一個表示H的數(shù)量,后一個表示D的數(shù)量。

分上面那種情況是因為最后一個必然是H或者D,而此時可以考慮把新加的一個放在最后,因為假如加的是H,如果加在[i-1][j]中加入H,則最后一個依然是H或D,此時如果成立,那么依然屬于[i-1][j]或[i][j-1]的情況。

所以推導出此遞推關(guān)系。

#include <iostream>

using namespace std;

int
main()
{

??? __int64
d[21][21];
??? d[1][1] = 1;
??? d[2][1] = 2;
??? d[1][2] = 0;
??? for
(int i = 1; i<21;i++)
??????? d[i][1] = i;
??? for
(int i = 2;i<21;i++)
??? for
(int j = 2;j<21;j++)
??? {

??????? if
(i>=j)
??????? d[i][j] = d[i-1][j] + d[i][j-1];
??????? else
d[i][j] = 0;
??? }

??? int
m,n;
??? while
(cin>>m>>n)
??? cout<<d[m][n]<<endl;
??? return
0;
}

總結(jié)

以上是生活随笔為你收集整理的HDU 下沙的沙子有几粒的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。