hdu_2151 worm ( 简单DP )

来源:互联网 发布:知乎草图大师模型 编辑:程序博客网 时间:2024/06/15 05:59
这个dp比较简单,以时间为阶段,最优化和无后效性表现比较明显状态: f[i][j] 表示第i秒钟在第j棵树上的方法数状态转移: f[i][j] = f[i-1][j-1]+f[i-1][j+1]#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define MAXN    1<<7int f[MAXN][MAXN];int main(int argc, char const *argv[]){#ifndef ONLINE_JUDGE        freopen("test.in", "r", stdin);#endif        int n, p, m, t;        while( ~scanf("%d %d %d %d", &n, &p, &m, &t) ) {                memset(f, 0, sizeof(f)); f[0][p] = 1;                for(int i = 1; i <= m; i ++) {                        for(int j = 1; j <= n; j ++) {                                f[i][j] = f[i-1][j-1]+f[i-1][j+1];                        }                }                printf("%d\n", f[m][t]);        }        return 0;}

原创粉丝点击