uva 1637 Double Patience
https://vjudge.net/problem/UVA-1637
36张牌分成9堆,每堆4张牌。每次可以拿走某两堆顶部的牌,但需要点数相同。
如果有多种拿法则等概率的随机拿。
如果最后拿完所有牌则游戏成功。按顺序给出每堆牌的4张牌,求成功概率。
#include<cstdio> using namespace std; char s[10][5]; char ss[5]; int left[10]; int v[2000001]; double dp[2000001]; int t; int state() {int tmp=0;for(int i=1;i<=9;i++) tmp=tmp*5+left[i];return tmp; } double solve() {int x=state();if(!x) return 1.0;if(v[x]==t) return dp[x];double ans=0; int cnt=0;for(int i=1;i<9;i++)for(int j=i+1;j<=9;j++) if(left[i]&&left[j]&&s[i][left[i]]==s[j][left[j]]){left[i]--; left[j]--;ans+=solve();cnt++;left[i]++; left[j]++;}if(cnt) dp[x]=1.0*ans/cnt;else dp[x]=0;v[x]=t;return dp[x]; } int main() {while(scanf("%s",ss)!=EOF){s[1][1]=ss[0];for(int j=2;j<=4;j++) {scanf("%s",ss);s[1][j]=ss[0];}for(int i=2;i<=9;i++)for(int j=1;j<=4;j++){scanf("%s",ss);s[i][j]=ss[0];}t++;for(int i=1;i<=9;i++) left[i]=4;printf("%.6lf\n",solve());} }
转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6938107.html
uva 1637 Double Patience相关推荐
- UVA 1637 - Double Patience(概率DP)
题目链接 https://cn.vjudge.net/problem/UVA-1637 [题意] 36张牌分成9堆,每堆4张,每次可以拿走两堆顶部的牌,但是要求两张牌的点数相同,如果有多种取法那就等概 ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- 数学期望和概率DP题目泛做(为了对应AD的课件)
题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...
- 《题目与解读》红书 训练笔记目录《ACM国际大学生程序设计竞赛题目与解读》
虽然2012年出版的老书了,但是是由三次世界冠军的上海交大ACM队出版的书籍,选择的题目是ACM经典中的经典,书中有非常详细的题解,可以学到很多东西,值得一刷. 目录 第一部分 第一章 数学 1.1 ...
- (转)计算几何模板 - kuangbin
转自:https://kuangbin.github.io/2019/04/28/20190428/#more 二维几何 // `计算几何模板` const double eps = 1e-8; co ...
- 计算几何模板中的代码
计算几何模板代码选自kuangbin 7 计算几何 7.1 二维几何 // `计算几何模板` const double eps = 1e-8; const double inf = 1e20; con ...
- 数论基础(附加例题)
A Colossal Fibonacci Numbers! (循环节) 题意:求fibonacci数列f(a^b)项mod n (0<a, ...
- 算法竞赛入门10.2计数与概率基础例题代码
10.6 Irrelevant Elements UVA1635 思路:基础组合计数 #include<cstdio> #include<cstring> #include&l ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- UVA 11752 超级幂
UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & ...
最新文章
- 避免资源死锁:识别已打开的事务
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记20 Multiple MVCs 多MVC模式、NavigationController导航控制器...
- 建造者模式(Builder)
- 【PHPExcel】数学公式
- 人工智能“上位”会让程序员消失吗?
- mysql密码有格式要求吗_高考日语作文10个格式要求!你能看出图中5处错误吗?...
- c语言将数组变为空,求助~~ 如何把数组变成动态输入的?
- 【Java架构师】JVM性能优化(一)JVM技术入门下
- Linux 截取线上日志
- 【操作系统】—操作系统的发展与分类
- linux会计软件,免费好用的会计软件(Manager for Mac)
- element树形控件拖拽allow-drop控制
- 小觅双目摄像头标准版视觉惯性 SLAM DEMO
- html调色板快捷键,在线网页调色板
- java求面积_Java计算几何图形的面积
- MATLAB 2014a与 VS2013 配置过程
- 第三方支付平台业务分析
- 国外大学网上免费课程
- 梯度是什么,简单说梯度下降是什么
- MFC隐藏主窗口运行的几种方法
热门文章
- Mongodb新手看这一篇就够了
- ofdm原理_5G进行时|5G NR物理层详解:原理、模型和组件
- nvm 下载node 下载不下来_音乐下载 黄子韬爸妈可以不走吗
- android异步任务框架,详解Android App中的AsyncTask异步任务执行方式
- mysql union limit_mysql中的union和order by、limit
- matlab出图时汉字都变成方框_linux下Matlab 2020中文字体方框问题解决方法
- Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
- Idea Debug多线程不进断点问题处理
- Redis源代码分析(三十)--- pubsub公布订阅模式
- 遍历点击事件(屏蔽同类名的其它点击事件,防止多次请求)