| 比赛 | 
    20121016 | 
    评测结果 | 
    AAAAAAAAAA | 
    | 题目名称 | 
    跑步 | 
    最终得分 | 
    100 | 
    | 用户昵称 | 
    王者自由 | 
    运行时间 | 
    0.017 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    3.94 MiB  | 
    | 提交时间 | 
    2012-10-16 21:39:26 | 
显示代码纯文本
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 500 + 10;
int n;
unsigned long long f[N][N];
int main() {
    freopen("runa.in", "r", stdin);
    freopen("runa.out", "w", stdout);
    scanf("%d", &n);
    fill(f[0], f[0]+N, 1);
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++) {
            f[i][j] = f[i][j-1];
            if(i >= j) f[i][j] += f[i-j][j-1];
        }
    printf("%lld\n", f[n][n] - 1);
    return 0;
}