duxing201606很快乐
浙江理工大学2019年新生赛
题目描述
世界上没有两片完全相同的树叶,同样的,KFC也没有两个完全相同的原味鸡。而duxing哥是一个非常讲究的人,面对一个原味鸡,自己总是能说出这是第X级的原味鸡。可是duxing哥有点不满意,他希望知道这个原味鸡的美味值是多少。经过研究,他发现第X级的原味鸡美味值=第x-1级的原味鸡的美味值1+第x-2级的原味鸡的美味值2+…+第1级原味鸡美味值*(x-1)。也就是:设第x级的原味鸡美味值是fx,那么fx=∑i=1x-1(x-i)*fi。
当然了,这一切需要一个基准,duxing哥把第1级的原味鸡美味值定为1,即f1=1
可是这个计算对于duxing哥来说太麻烦了,所以他把这个任务交给了你,给你一个x,问你第x级原味鸡美味值是多少?
输入
一个数x(1<=x<=40)
输出
一个数,表示第x的原味鸡美味值
样例输入
【输入样例1】
2
【输入样例2】
7
样例输出
【输出样例1】
1
【输出样例2】
144
源代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
long long n,i,j,x,sum[11110],ans[11110];
cin>>x;
sum[0]=0;
ans[0]=0;
sum[1]=1;
sum[2]=1;
sum[3]=3;
ans[1]=5;
for(i=4; i<=x; i++) {
sum[i]=sum[i-1]+ans[i-3];
ans[i-2]=ans[i-3]+sum[i];
}
cout<<sum[x]<<endl;
return 0;
}
AC
祝各位学生期末考得好成绩!!!