九度OJ 題目1160 放蘋果

2021-06-27 19:17:40 字數 858 閱讀 2897

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

輸入:第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數m和n,以空格分開。1<=m,n<=10。

輸出:對輸入的每組資料m和n,用一行輸出相應的k。

樣例輸入:

1

7 3

樣例輸出:

8

2023年北京大學計算機研究生機試真題

答疑:

基本思路:

令(m,n)表示m個蘋果放到n個籃子裡的種數,那麼勢必會有籃子空餘、籃子都放兩種情況。

1、假如有乙個籃子空餘,那麼空餘籃子相當於沒用,那麼(m,n)的問題就是把m個蘋果放到n-1個籃子裡的種數(m,n-1)

2、假如沒有籃子空餘,那麼每個籃子至少應該有乙個蘋果,即剩下了m-n個蘋果了,問題就變成了,把m-n個蘋果放到n個籃子裡的問題了(m-n,n)。

所以:(m,n)=(m,n-1)+ (m-n,n);

#include using namespace std;

int fang(int k,int r)

int main()

{ int k,r;

int n;

while(cin>>n)

{ for(;n!=0;n--){

cin>>k>>r;

cout<

九度OJ 題目1018

題目1018 統計同成績學生人數 題目描述 讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入 測試輸入包含若干測試用例,每個測試用例的格式為 第1行 n 第2行 n名學生的成績,相鄰兩數字用乙個空格間隔。第3行 給定分數 當讀到n 0時輸入結束。其中n不超過1000,成績分數為 包含 0到...

北大1160,放蘋果,分治法

include includeusing namespace std m為蘋果數,n為盤子數 m,n 表示總的放法 則可知 if m n 即蘋果數目多 沒有盤子空的放法為 m n,n 有盤子空的放法為f m,n 1 f m,n 2 f m,1 從而有 m,n m n,n f m,n 1 f m,1 ...

華為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 計算放蘋果方法數目 輸入值非法...