再次求助!(只得了5分!!!)
这么简单的题,就我还没过吧
走了一遍样例(徒手)过了,可是在电脑上走和在洛谷上评测的时候的时候死活过不了
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int f[1001]={0};
int dg(int i){
if(f[i]>0) return f[i];
if(i%2==0) f[i]=dg(i/2)+dg(i-1);
else f[i]=dg(i-1);
}
int main(){
int n=0;
memset(f,0,sizeof(f));
f[1]=1;
f[2]=2;
cin>>n;
dg(n);
cout<<f[n]<<endl;
return 0;
}
输入6输出900多万,可是徒手跑的时候没有任何错误。
谢谢指导