時間:10000K総時間:メモリ制限を1000ミリ秒3000ms
説明:
食欲、クラウド床に食品ラインにNの人々は、M餃子を再生し、N個のプレートを取ります。今皿にN餃子のMを望んで、どのように多くの異なるインストール方法を尋ねますか?
プレートが十分な大きさであると仮定すると、皿には何も置くことができません。画像は、同一の吐出方法250、及び502等に属することに留意されたいです。
入力:
二つの整数M、N(1 = <M、N <= 100)がスペースで区切ら。
出力:
いくつかの別々の出力ラインのインストール方法があります。
サンプル入力:
7 3
出力例:
8
#include <iostream>
using namespace std;
int put(int m, int n)
{
if( m == 0 || m == 1 || n == 1 )
{
return 1;
}
int dp[n+1][m+1];
for( int i = 0; i <= n; i++ )
{
for( int j = 0; j <= m; j++ )
{
dp[i][j] = 1;
}
}
for( int i = 2; i <= n; ++i)
{
for( int j = 2; j <= m; ++j)
{
if( i > j )
{
dp[i][j] = dp[j][j];
}
else
{
dp[i][j] = dp[i - 1][j] + dp[i][j - i];
}
}
}
return dp[n][m];
}
int main()
{
int m,n;
cin >> m >> n;
cout << put(m,n) << endl;
return 0;
}