poj 2537 DP

来源:互联网 发布:2010江苏高考数学知乎 编辑:程序博客网 时间:2024/06/09 15:26

挺简单的DP,可是没有注意到数据会超范围,上官网搜了数据才知道,后来改成了__int64,发现还是不行,改成double,AC了

带血的AC。。。

#include<stdio.h>#include<string.h>double dp[110][15];int main(){int k,n;int i,j;while(scanf("%d%d",&k,&n)!=EOF){memset(dp,0,sizeof(dp));for(i=1;i<=k+1;i++)dp[1][i]=1;for(i=2;i<=n;i++)for(j=1;j<=k+1;j++)dp[i][j]=dp[i-1][j]+dp[i-1][j-1]+dp[i-1][j+1];double ans=0;for(i=1;i<=k+1;i++)ans+=dp[n][i];for(i=1;i<=n;i++)ans/=(k+1);ans*=100;printf("%.5lf\n",ans);}return 0;}

  

原创粉丝点击