華為機試 放蘋果

2021-10-20 16:32:54 字數 637 閱讀 1382

題目描述

把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?(用k表示)5,1,1和1,5,1 是同一種分法。

資料範圍:0<=m<=10,1<=n<=10。

本題含有多組樣例輸入。

解題思路:

動態規劃,兩種情況:1.如果有空盤子,那麼,相當於縮減為m個蘋果放在n-1個盤子裡的問題

2.如果沒有空盤子,那麼必須保證每個盤子都有乙個蘋果,那麼相當於縮減為m-n個蘋果放在n個盤子的問題

遇到的問題:

1.這個i-j>=0沒寫出來,如果蘋果數量小於盤子數量,那麼沒有辦法實現情況2,因此直接為0

dp[i][j] = dp[i][j-1]+(i-j>=0?dp[i-j][j]:0);

2.我不知道初始化dp應該寫到什麼程度,是把所有已知值都寫上嘛?

#include

#include

using

namespace std;

intmain()

for(

int i=

0;i<=n;i++

)for

(int i=

2;i<=m;i++)}

cout<[n]<}}

華為機試 放蘋果

題目描述 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。輸入每個用例包含二個整數m和n。0 m 10,1 n 10。樣例輸入 7 3 樣例輸出 輸入描述 輸入兩個int整數 輸出描述 輸出結果,int型 分析 輸入...

華為機試 放蘋果(遞推公式求解)

題目描述 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。輸入每個用例包含二個整數m和n。0 m 10,1 n 10。樣例輸入 7 3樣例輸出 public static int count int m,int n ...

華為OJ 放蘋果

放蘋果 題目描述 把m 個同樣的蘋果放在 n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用 k表示 5,1,1和 1,5,1 是同一種分法。輸入 每個用例包含二個整數m和n 0 m 10 1 n 10 n 10 m 10 樣例輸入 7 3樣例輸出 8 計算放蘋果方法數目 輸入值非法...