不充钱,你怎么AC?
题目:http://codevs.cn/problem/1501/
一开始看到题目有点懵逼,没有看懂题目的意思QuQ
后面发现,原来就是个类似于斐波拉契数列的递推
f[0]=5 f[1]=11
f[i]=f[i-1]+f[i-2]+1 i∈(2,+oo)∩N
一开始读入n时,先将n取相反数,然后如果n为负数,直接置为0
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream> 6 #include<algorithm> 7 #define N 31 8 using namespace std; 9 10 int n,f[N]; 11 int main() 12 { 13 int i; 14 scanf("%d",&n); 15 n=-n; 16 if (n<0) n=0; 17 f[0]=5; 18 f[1]=11; 19 for (i=2;i<=n;i++) f[i]=f[i-1]+f[i-2]+1; 20 printf("%d ",f[n]); 21 return 0; 22 }