题目描述
给定一个正整数n,求将n拆分成1,3,4之和的不同方案总数。
输入格式
一个正整数n。
输出格式
一个正整数,方案总数。
样例数据
输入样例
5
输出样例
6
样例解释
5 = 1+1+1+1+1
5 = 3+1+1
5 = 1+3+1
5 = 1+1+3
5 = 4+1
5 = 1+4
数据范围
对60%的数据,5≤n≤50;
对100%的数据,5≤n≤5000。
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,a[5005]={0,1,1,2,4};
int main(){
cin>>n;
for(int i=5;i<=n;i++)
a[i]=a[i-1]+a[i-3]+a[i-4];
cout<<a[n] << endl;
return 0;
}
我的60分代码
求助!!!