天天看点

wikioi p1011 数的计算

       这题不需要考虑重复情况,可以说就是简单的记忆化搜索。

       代码如下:

#include<stdio.h>
using namespace std;
const int MAX_N = 1001;
int f[MAX_N];
int N;
int work(int t)
{
    if (t==0) return 1;
    if (f[t]) return f[t];
    int i;
    int tmp=0;
    for (i=0;i<=t/2;i++)
    tmp+=work(i);
    return f[t]=tmp;
}
int main()
{
    scanf("%d",&N);
    printf("%d",work(N));
    return 0;
}