Problem L. Tavern Chess

题意:给你两支队伍,依次轮流进行攻击,问每支队伍最后获胜的可能性

这个题目中要考虑到是轮流进行攻击,进攻次数较少的人会优先进行攻击。

理解:简单的深搜

#include<bits/stdc++.h>using namespace std;
int h1[10], h2[10],s1[10];
int a1[10], a2[10],s2[10];
int n, m;
//p2 A,s2 B
double p1, p2, sum;
void bfs(int a, double ps, int c, int d) {//cout << ps << "???" << a << endl;
//  cout<<c<<"???"<<d<<endl;if (c == 0 && d == 0) {sum += ps;return ;}if (c == 0) {p2 += ps;return ;}if (d == 0) {p1 += ps;return ;}//a->b;if (a == 0) {int t = 0;//左边第一个活着的for (int i = 1; i <= n; i++)if (h1[i]>0&&(t==0||s1[t]>s1[i])) {t = i;//break;}s1[t]++;//cout<<t<<"!!!"<<endl;//攻击组合h2:B,h1:A//n1 A,m1 Bint n1 = c, m1 = d;for (int i = 1; i <= m; i++) {if(h2[i]<=0)continue;h2[i] -= a1[t];  //s1[t]++;h1[t] -= a2[i];//s2[i]++;if (h1[t] <= 0) n1--;if (h2[i] <= 0) m1--;bfs(1 - a, ps * 1.0 / d, n1, m1);if (h1[t] <= 0) n1++;if (h2[i] <= 0) m1++;h2[i] += a1[t]; //s1[t]--;h1[t] += a2[i];  //s2[i]--;}s1[t]--;} //b->aelse {//左边第一活着的int t = 0;for (int i = 1; i <= m; i++)if (h2[i]>0&&(t==0||s2[t]>s2[i])) {t = i;// break;}s2[t]++;int n1 = c, m1 = d;//依次攻击a中活着的for (int i = 1; i <= n; i++) {if (h1[i]>0) {h1[i] -= a2[t];//h2[t] -= a1[i];//s1[i]++;if (h1[i] <= 0) n1--;if (h2[t] <= 0) m1--;bfs(1 - a, ps * 1.0 / c, n1, m1);if (h1[i] <= 0) n1++;if (h2[t] <= 0) m1++;//st[i]=st2[t]=0;h1[i] += a2[t];//s2[t]--;h2[t] += a1[i];//s1[i]--;}}s2[t]--;}
}
int main () {cin >> n >> m;for (int i = 1; i <= n; i++)cin >> h1[i], a1[i] = h1[i];for (int i = 1; i <= m; i++)cin >> h2[i], a2[i] = h2[i];if (n < m)bfs(1, 1, n, m);else if (n > m)bfs(0, 1, n, m);else {bfs(1, 0.5, n, m);bfs(0, 0.5, n, m);}cout<<p1<<endl<<p2<<endl<<sum<<endl;
}

这个题目对于那些没有玩过炉石传说的人不太友好,题目英语说的不是很好,但是简单的签到题

2022icpc沈阳 L相关推荐

  1. 容斥 + 树形dp ---- 2021 icpc 沈阳 L Perfect Matchings

    题目链接 题目大意: 就是给你一个2n2n2n个点的完全图,从这个图里面抽出2n−12n-12n−1条边,这些边形成一颗树,现在问你剩下的图里面点进行完美匹配有多少种方案? 解题思路: 一开始被完美匹 ...

  2. 2022icpc沈阳站感想

    打完比赛的第一感觉就是挺狗血的,这次博弈严重失败,本以为这站队伍特别多会特别难打,想到去年打沈阳站时就差几行代码拿牌,今年就想练练手,顺便去去霉运,没想到这一站竟然是福利局,我们队伍全程排在本校第一名 ...

  3. 分类讨论 ---- 2021 icpc 沈阳 L Linear Fractional Transformation (思维题)

    题目链接 题目大意 给你一个线性变换函数f(z)=az+bcz+df(z)=\frac{az+b}{cz+d}f(z)=cz+daz+b​,现在把取值范围扩展到复数域.给你3个等式 f(z1)=w1f ...

  4. hdu5461(2015沈阳网络赛L题)

    题意: 给出一个数列,我们要在这里找出两个数,使得题意中那个表达式最大. 思路: 排两个序就好了啊,看代码一下就懂了. 代码: #include <cstdio> #include < ...

  5. MPB:沈阳生态所李琪组-​土壤线虫群落DNA提取、扩增及高通量测序

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  6. 智能车竞赛技术报告 | 单车拉力组 - 沈阳航空航天大学 - 青梅绿茶队

    简 介: 本设计以第十六届全国智能车大赛为背景,车模使用大赛单车拉力组指定的 K型车模,以宏晶STC16F为主控,外加自行设计的母板.驱动板和前置运放模块,配备MPU6050陀螺仪.512线编码器.聚 ...

  7. HDU6218 2017ACM/ICPC亚洲区沈阳站 Bridge(Set,线段树)

    HDU6218 2017ACM/ICPC亚洲区沈阳站 Bridge Solution 我们考虑维护在环上的边的个数,答案就是总边数减去环上边数. 环的形态是这样的:(0,l),(0,l+1)...(0 ...

  8. 2016ICPC沈阳站

    2016ICPC沈阳站 题号 题目 知识点 难度 A Thickest Burger 贪心 签到 B Relative atomic mass 贪心 签到 C Recursive sequence 矩 ...

  9. 2017 ICPC沈阳区域赛

    2017 沈阳区域赛 题号 题目 难度 知识点 A BBP Formula B Bridge C Empty Convex Polygons D Defense of the Ancients E F ...

最新文章

  1. 最近用到的一些方法技巧
  2. Python 国际化
  3. python打地鼠游戏教程_Python入门小游戏,炫酷打地鼠教程第二部分,都是干货
  4. sqlserver2008未将对象引用设置到对象的实例_面试官:ThreadLocal 的内存泄漏是弱引用导致的,你确定?...
  5. map反转key value
  6. git commit时避免填写Commit Message
  7. 2019.3.18 区块链论文翻译
  8. 服务器突然关机的操作系统日志,一台R410 服务器不定时宕机,系统日志只有“上一次系统是意外关闭”...
  9. linux 常用工具
  10. MachineLearning(7)-决策树基础+sklearn.DecisionTreeClassifier简单实践
  11. 如果唐代诗人有微博,简直就是真实版「梦回大唐」
  12. Linux程序设计-1-Linux基础
  13. 使用 关键字来创建python自定义函数_python 自定义函数
  14. JVM致命错误日志详解
  15. 计算机低级格式化,硬盘格式化之低级格式化
  16. html个人所得税计算器,上海个人所得税计算器_个税计算器_税后工资计算器
  17. CityEngine+Python自动化建模实现【系列文章之四】
  18. 最近插入法和最近邻点法
  19. Nao机器人运行B-human代码之开始篇 1
  20. 【万兴PDF专家】OCR引擎的离线安装方法,让你不受网速的折磨,PDF给OCR成可搜索的高级PDF,牛逼了我的万兴

热门文章

  1. 安全框架Spring Security(认证和授权)
  2. 彩印1000张a4纸多少钱?
  3. 清华大学再送100本京东热卖畅销书!
  4. java 6字节_java过滤四字节和六字节特殊字符
  5. js 创建数组的方法
  6. app内购截屏传不上去
  7. AliOS-Things ESP8266 配网 学习
  8. 搜索引擎之ElasticSearch(es)入门学习、ELK 和 beats
  9. 怎么利用python输出星座符号_怎么利用python输出星座
  10. 专为AI大模型打造的GPU加速器MI300X