#include<iostream> using namespace std; int main() { int n; cin>>n; int a[n]; a[1]=0;a[2]=1;a[3]=1; for(int i=4;i<=n;i++) a[i]=a[i-3]+2*a[i-2]+a[i-1]; cout<<a[n]; return 0; }
...怀疑以前的自己是不是有什么问题
数组居然不加范围
#include<iostream> using namespace std; int main() { int a[]={0,1,1}, n, b=4; cin>>n; while(b<=n) { a[b-1]=a[b-4]+2*a[b-3]+a[b-2]; b++; } cout<<a[n-1]<<endl; }
不通过
您的代码已保存
段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起
case通过率为40.00%
?
(其他人都用的递归
确实这样时间不变还能节约空间
只不过我完全没有想到
大约我的科技树漏了很多东西)