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