最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--状态树
DP学得还是不可,昨天的省赛太狼狈了。
毛毛虫第i分钟在第j棵树上的可能性是第i-1分钟在第j-1棵树和第j+1棵树上两种可能性之和。状态转移方程为f[i][j]=f[i-1][j-1]+f[i-1][j+1]。需要特别注意j和i都不能越界。
#include<stdio.h> #include<string.h> #define N 105 int main() { int n,p,m,t; int f[105][105]; int i,j; while(scanf("%d%d%d%d",&n,&p,&m,&t)!=EOF) { memset(f,0,sizeof(f)); f[0][p]=1; for(i=0;i<=m;i++) { for(j=1;j<=n;j++) { if(j-1>0&&i-1>=0) f[i][j]+=f[i-1][j-1]; if(j+1<=n&&i-1>=0) f[i][j]+=f[i-1][j+1]; } } printf("%d\n",f[m][t]); } return 0; }
文章结束给大家分享下程序员的一些笑话语录: 马云喜欢把自己包装成教主,张朝阳喜欢把自己包装成明星,李彦宏喜欢把自己包装成的很知性,丁磊喜欢把自己包装的有创意,李开复总摆出一副叫兽的样子。看来的。其实我想说,缺啥补啥,人之常情。