学習アルゴリズム - アップル(再帰的に)入れ

問題

いくつかの空のプレートが保持できるように、同じプレートのM N番号、上の同じリンゴは、どのように多くの異なるポイントシステムを頼みますか?5,1,1および1,5,1点と同じ方法です。

エントリー

最初の行は、テストデータTの数である(0 <= T <= 20)。各行は、次の2つの整数含ま
M及びNは、スペースで区切られた番号。1 <= M、N <= 10。

輸出

データ入力の各セットのためのMとN、対応するラインK.の出力

サンプル入力

1
7 3

サンプル出力

8

問題解決のためのアイデア

I k番目の放電プレート法におけるリンゴの総数は、F(I、K)、次にであること:
K> I、F(I、K) = F(I、I)
K <= I、総吐出法=空のトレイ排出方法+無空のトレイ排出方法がある
F(I、K)= F (I、K-1)+ F(IK、k)は


#include <iostream>
using namespace std;
int f(int m,int n) {
if( n > m )
return f(m,m);
if( m == 0)
return 1;
if( n <= 0 )
return 0;
return f(m,n-1) + f(m-n,n);
}
int main() {
int t,m,n;
cin >> t;
while( t--) {
cin >> m >> n;
cout << f(m,n) << endl; 
}
return 0;
}
公開された79元の記事 ウォンの賞賛133 ・は 40000 +を見て

おすすめ

転載: blog.csdn.net/weixin_45822638/article/details/105030598