天天看點

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;
}