zhang


私信TA

用户名:zhang0sheng

访问量:17134

签 名:

等  级
排  名 1826
经  验 2617
参赛次数 0
文章发表 25
年  龄 0
在职情况 学生
学  校 合肥工业大学
专  业

  自我简介:

解题思路:

dp[i][j]为数值i分成的数最高不超过j的情况数。


注意事项:





参考代码:

#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int dp[110][110];
int n;
int main()
{	
    cin>>n;
    memset(dp,0,sizeof(dp));
    for(int i=1;i<=n;i++){
    	dp[0][i]=1;
    	dp[i][i]=1;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(j<=i){
				dp[i][j]=dp[i][j-1]+dp[i-j][j];
			}
			else dp[i][j]=dp[i][i];
		}
	}
	cout<<dp[n][n];
    return 0;
}


 

0.0分

1 人评分

  评论区

边界条件处理的时候可以更加精确的
2019-03-22 13:33:58
  • «
  • 1
  • »