ZSTUOJ 三只小豬

Problem : 三只小豬

Description

這日弯予,快碼佳編四兄弟姐妹來到了一個山腳下棺克,只聽一個老奶奶給兩個孫子講故事辙培。
你聽說過三只小豬的故事嗎?這是一個經(jīng)典的故事啥箭。很久很久以前,有三只小豬治宣。第一只小豬用稻草建的房子急侥,第二個小豬用木棍建的房子,第三個小豬則使用磚做為材料侮邀。一只大灰狼想吃掉它們并吹倒了稻草和木棍建的房子坏怪。但是磚蓋的房子很結(jié)實,狼最終也沒有破壞掉豌拙,最后小豬們戰(zhàn)勝了大灰狼并把它尾巴燒掉了陕悬。
為了自己的安全,小豬們又建造了一個新磚房按傅。但是現(xiàn)在問題出現(xiàn)了捉超,怎樣把三個小豬分配到兩個房子里呢胧卤?第三只小豬是三只小豬中最聰明的一只,為了不浪費任何一個房子拼岳,它總共考慮了三種方案枝誊,如下圖
[圖片上傳失敗...(image-1e2add-1635653105532)]

但是將來怎么辦呢?”第三只小豬知道將來隨著成員的增多惜纸,它們將會蓋更多的房子叶撒。它想知道給定了房子和豬的數(shù)目后,房子的分配方案有多少耐版,但這個問題對于它來說祠够,很明顯有點難了,你能幫小豬解決這個問題嗎粪牲?

Input

多組測試古瓤,每組 僅有一行,包含兩個整數(shù)n和m腺阳,分別表示小豬的數(shù)目和房間數(shù)(1≤n≤20落君,0≤m≤20)

Output

每組輸出一行,僅一個整數(shù)亭引,表示將n只小豬安置在m個房間且沒有房間空閑的方案數(shù)绎速。

Sample Input

4 2

Sample Output

7

思路:

n只小豬放到m房子,不允許有空房子焙蚓,
這里纹冤,我們用 dp[m][n] 來表示情況總數(shù)
首先我們可以直接想出這么幾種情況:
1.如果過m>n,肯定有空房子,那么 就是0種情況主届。

2.如果m=n赵哲,那么每一只小豬肯定都要分配到不同房子 就是1種情況。

3.如果m=1君丁,而且n>0枫夺,那么,所有小豬都在一個房子绘闷,也是1種情況 展示代碼如下:

for(int i=1;i<=n;i++)//一個房間小豬分配的情況 
            dp[1][i]=1;

現(xiàn)在橡庞,特殊的情況知道了,那么印蔗,我們想一般的情況扒最;

我們按照提示的圖來分析下: n=3,m=2华嘹;情況數(shù)目為dp[2][3]
三只小豬 x1吧趣,x2,x3;
有這么三種情況:
x1 x2 | x3
x1 x3 | x2
x2 x3 | x1

此時dp[3][2]=3
那么 如果 再來一只小豬x4呢(在房子數(shù)目不變情況下)
首先 針對x1 x2 | x3 這種情況 x4 可以插入到2個房子(m個房子)中去
然后和x1 x2 | x3 并列的情況有三種
那么此時dp[2][4]=2dp[2][3]*
dp[2][4]=2dp[2][4-1]*

但是除此之外强挫,x4也可能單獨一個房間岔霸,此時的情況是原先三只小豬分配到1個房子 dp[1][3]
dp[2-1][4-1]

歸納總結(jié)可以得出狀態(tài)轉(zhuǎn)移方程

dp[m][n] = dp[m][n-1]*m + dp[m-1][n-1]

代碼

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long dp[25][25];
    int m,n;
    while(cin>>n>>m)
    {
        memset(dp,0,sizeof(dp));
        for(int i=1;i<=n;i++)//一個房間小豬分配; 
            dp[1][i]=1;
        for(int i=2;i<=m;i++)//m個房間 
            for(int j=1;j<=n;j++)//n只小豬分配 
                dp[i][j]=dp[i][j-1]*i+dp[i-1][j-1]; 
        cout<<dp[m][n]<<endl;
    }
    return 0;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俯渤,一起剝皮案震驚了整個濱河市呆细,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌八匠,老刑警劉巖絮爷,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梨树,居然都是意外死亡坑夯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門劝萤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渊涝,“玉大人,你說我怎么就攤上這事床嫌。” “怎么了胸私?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵厌处,是天一觀的道長。 經(jīng)常有香客問我岁疼,道長阔涉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任捷绒,我火速辦了婚禮瑰排,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘暖侨。我一直安慰自己椭住,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布字逗。 她就那樣靜靜地躺著京郑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪葫掉。 梳的紋絲不亂的頭發(fā)上些举,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音俭厚,去河邊找鬼户魏。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叼丑。 我是一名探鬼主播关翎,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼幢码!你這毒婦竟也來了笤休?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤症副,失蹤者是張志新(化名)和其女友劉穎店雅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贞铣,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡闹啦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了辕坝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窍奋。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖酱畅,靈堂內(nèi)的尸體忽然破棺而出琳袄,到底是詐尸還是另有隱情,我是刑警寧澤纺酸,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布窖逗,位于F島的核電站,受9級特大地震影響餐蔬,放射性物質(zhì)發(fā)生泄漏碎紊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一樊诺、第九天 我趴在偏房一處隱蔽的房頂上張望仗考。 院中可真熱鬧,春花似錦词爬、人聲如沸秃嗜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痪寻。三九已至,卻和暖如春虽惭,著一層夾襖步出監(jiān)牢的瞬間橡类,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工芽唇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留顾画,地道東北人取劫。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像研侣,于是被迫代替她去往敵國和親谱邪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容