[BZOJ]4832: [Lydsy2017年4月月赛]抵制克苏恩
来源:互联网 发布:湖首大学知乎 编辑:程序博客网 时间:2024/06/03 19:05
这个版本带克苏恩怕是活不到10费啊
#include <cstdio>#include <cstring>using namespace std;inline int read(void){ int a=0;static char c; while((c=getchar())<'0'||c>'9'); while(c>='0'&&c<='9') a=a*10+c-'0',c=getchar(); return a;}int T,n,x,y,z;double dp[2][51][8][8][8],ans;int main(void){ register int i,j,l,k; T=read(); while(T--) { ans=0; n=read(),memset(dp,0,sizeof(dp)); dp[0][0][x=read()][y=read()][z=read()]=1,dp[1][0][x][y][z]=0; for (i=0;i<n;++i) for (j=0;j<=7;++j) for (k=0;k<=7;++k) for (l=0;l<=7;++l) if(dp[0][i][j][k][l]>0) { if(i+1==n) { ans+=dp[1][i][j][k][l]*(1.0/(j+k+l+1))+dp[0][i][j][k][l]*(1.0/(j+k+l+1)); if(j) ans+=dp[1][i][j][k][l]*j*(1.0/(j+k+l+1)); if(k) { if(j+k+l<7) ans+=dp[1][i][j][k][l]*k*(1.0/(j+k+l+1)); if(j+k+l==7) ans+=dp[1][i][j][k][l]*k*(1.0/(j+k+l+1)); } if(l) { if(j+k+l<7) ans+=dp[1][i][j][k][l]*l*(1.0/(j+k+l+1)); if(j+k+l==7) ans+=dp[1][i][j][k][l]*l*(1.0/(j+k+l+1)); } } else { dp[0][i+1][j][k][l]+=dp[0][i][j][k][l]*(1.0/(j+k+l+1)); dp[1][i+1][j][k][l]+=dp[1][i][j][k][l]*(1.0/(j+k+l+1))+dp[0][i][j][k][l]*(1.0/(j+k+l+1)); if(j) dp[0][i+1][j-1][k][l]+=dp[0][i][j][k][l]*j*(1.0/(j+k+l+1)), dp[1][i+1][j-1][k][l]+=dp[1][i][j][k][l]*j*(1.0/(j+k+l+1)); if(k) { if(j+k+l<7) dp[0][i+1][j+1][k-1][l+1]+=dp[0][i][j][k][l]*k*(1.0/(j+k+l+1)), dp[1][i+1][j+1][k-1][l+1]+=dp[1][i][j][k][l]*k*(1.0/(j+k+l+1)); if(j+k+l==7) dp[0][i+1][j+1][k-1][l]+=dp[0][i][j][k][l]*k*(1.0/(j+k+l+1)), dp[1][i+1][j+1][k-1][l]+=dp[1][i][j][k][l]*k*(1.0/(j+k+l+1)); } if(l) { if(j+k+l<7) dp[0][i+1][j][k+1][l]+=dp[0][i][j][k][l]*l*(1.0/(j+k+l+1)), dp[1][i+1][j][k+1][l]+=dp[1][i][j][k][l]*l*(1.0/(j+k+l+1)); if(j+k+l==7) dp[0][i+1][j][k+1][l-1]+=dp[0][i][j][k][l]*l*(1.0/(j+k+l+1)), dp[1][i+1][j][k+1][l-1]+=dp[1][i][j][k][l]*l*(1.0/(j+k+l+1)); } } } printf("%.2lf\n",ans); } return 0;}
阅读全文
1 0
- [BZOJ]4832: [Lydsy2017年4月月赛]抵制克苏恩
- [bzoj-4832][Lydsy2017年4月月赛]抵制克苏恩 题解
- [Lydsy2017年4月月赛]抵制克苏恩
- [Lydsy2017年4月月赛]抵制克苏恩
- BZOJ 4832 [Lydsy2017年4月月赛]抵制克苏恩 期望dp
- BZOJ4832 [Lydsy2017年4月月赛]抵制克苏恩
- 概率DP [Lydsy2017年4月月赛]抵制克苏恩
- BZOJ 4801([Lydsy2017年4月月赛]打牌-分类讨论)
- bzoj 4831: [Lydsy2017年4月月赛]序列操作
- bzoj 4880: [Lydsy2017年5月月赛]排名的战争
- BZOJ4835 [Lydsy2017年4月月赛]遗忘之树
- BZOJ4836 [Lydsy2017年4月月赛]二元运算
- BZOJ4837 [Lydsy2017年4月月赛]LRU算法
- 4836: [Lydsy2017年4月月赛]二元运算
- 4833: [Lydsy2017年4月月赛]最小公倍佩尔数
- 4835: [Lydsy2017年4月月赛]遗忘之树
- 4831: [Lydsy2017年4月月赛]序列操作
- 4833: [Lydsy2017年4月月赛]最小公倍佩尔数 数论变换
- G
- mongodb数据的导入导出
- 复用代码【SSH配置文件】
- 关于VisualStudio2015中找不到stdio.c等头文件的解决办法
- linux less
- [BZOJ]4832: [Lydsy2017年4月月赛]抵制克苏恩
- [JLOI2768]冠军调查 BZOJ2768-最小割
- Git使用详细教程(超详细)
- leetcode-13-罗马数字转阿拉伯数字
- Linux中文件存取过程详解
- java简单编译程序的运行
- C++ 类与封装不完全指北
- ROS探索
- 2017.05.06【NOIP提高组】模拟赛B组