CSU 1596 Dick.Z 的炉石赛 数学期望
来源:互联网 发布:淘宝背景图 编辑:程序博客网 时间:2024/05/20 18:20
1596: Dick.Z 的炉石赛
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 53 Solved: 39
[Submit][Status][Web Board]
Description
Dick.Z 的炉石赛
集训队即将举办一场炉石传说的积分赛,在某场比赛之前,选手必须事先决定自己三场比赛要使用的职业以及他们的出场顺序,一旦确定,出场顺序就不可以改变。获胜的场次将会记入总积分,所以即使0:2也坚持将第三场打完。而且不论前一场输赢,下一场里双方都必须更换事先决定的职业继续比赛。在这个游戏里有9种职业,9种职业互相克制。现在dick政将提供你职业之间比赛的平均胜率。请你根据两位选手预先提交的出场职业顺序计算第一位选手的期望胜场。
各职业的对战平均胜率:
我方\对方 Druid Hunter Mage Shaman Paladin Warlock Warrior Rogue Priest
Druid 0.50 0.58 0.59 0.45 0.56 0.58 0.57 0.39 0.38
Hunter 0.42 0.50 0.65 0.75 0.68 0.52 0.40 0.55 0.60
Mage 0.41 0.35 0.50 0.46 0.48 0.47 0.44 0.57 0.54
Shaman 0.55 0.25 0.54 0.50 0.53 0.51 0.63 0.52 0.42
Paladin 0.44 0.32 0.52 0.47 0.50 0.47 0.46 0.55 0.46
Warlock 0.42 0.48 0.53 0.49 0.53 0.50 0.44 0.40 0.59
Warrior 0.43 0.60 0.56 0.37 0.54 0.56 0.50 0.68 0.39
Rogue 0.61 0.45 0.43 0.48 0.45 0.60 0.32 0.50 0.48
Priest 0.62 0.40 0.46 0.58 0.54 0.41 0.61 0.52 0.50
Input
第一行包含一个整数T(1<=T<=100)
以下有T组数据,
每组包含2行,每行有三个字符串,中间用空格隔开,第一行表示第一个选手的出场顺序,第二行表示第二个选手的出场顺序。保证字符串合法
Output
对于每组数据输出一个数,表示第一位选手的期望胜场,保留2位小数。
Sample Input
2Warrior Rogue PriestShaman Mage PaladinHunter Hunter HunterShaman Shaman Shaman
Sample Output
1.342.25
HINT
Source
国防科学技术大学第十八届银河之光文化节ACM程序设计竞赛初赛
#include <iostream>#include <cmath>#include <stdio.h>#include <string>#include <cstring>#include <map>#include <set>#include <vector>#include <stack>#include <queue>#include <iomanip>#include <algorithm>#include <memory.h>#include <iomanip>using namespace std;double avewin[9][9]={ 0.50 , 0.58 , 0.59 ,0.45 , 0.56 , 0.58 , 0.57 , 0.39 , 0.38, 0.42 , 0.50 , 0.65 , 0.75 , 0.68 , 0.52 , 0.40 , 0.55 , 0.60, 0.41 , 0.35 , 0.50 , 0.46 ,0.48 , 0.47 , 0.44 , 0.57 , 0.54, 0.55 , 0.25 , 0.54 , 0.50 , 0.53 , 0.51 , 0.63 , 0.52 , 0.42, 0.44 , 0.32 ,0.52 , 0.47 , 0.50 , 0.47 , 0.46 , 0.55 , 0.46, 0.42 , 0.48 , 0.53 , 0.49 , 0.53 , 0.50 , 0.44 , 0.40 , 0.59, 0.43 , 0.60 ,0.56 , 0.37 ,0.54 , 0.56 , 0.50 , 0.68 , 0.39, 0.61 , 0.45 , 0.43 , 0.48 , 0.45 , 0.60 , 0.32 , 0.50 , 0.48, 0.62 , 0.40 ,0.46, 0.58 , 0.54 , 0.41 , 0.61 , 0.52 , 0.50,};string fighter[]={"Druid" ,"Hunter","Mage", "Shaman", "Paladin", "Warlock", "Warrior", "Rogue", "Priest"};double getWinRate(string f1,string f2){ int r,c; for(int i=0;i<9;i++) { if(fighter[i]==f1) r=i; if(fighter[i]==f2) c=i; } // cout<<r<<c<<endl; return avewin[r][c];}int main(){ int t; int i,j; double win[3]; double result; string fighter1[3]; string fighter2[3]; cin>>t; while(t--) { cin>>fighter1[0]>>fighter1[1]>>fighter1[2]; cin>>fighter2[0]>>fighter2[1]>>fighter2[2]; for(i=0;i<3;i++) { win[i]=getWinRate(fighter1[i],fighter2[i]); //cout<<win[i]<<' '; } result=1*(win[0]*(1-win[1])*(1-win[2])+(1-win[0])*win[1]*(1-win[2])+(1-win[0])*(1-win[1])*win[2]); result+=2*(win[0]*win[1]*(1-win[2])+(1-win[0])*win[1]*win[2]+win[0]*(1-win[1])*win[2]); result+=3*win[0]*win[1]*win[2]; cout<<fixed<<setprecision(2)<<result<<endl; } return 0;}
- CSU 1596 Dick.Z 的炉石赛 数学期望
- CSU 1596: Dick.Z 的炉石赛(模拟)
- CSU 1799 小Z的黑白棋 2016湖南省赛热身 [贡献式思维]【组合数学】
- CSU 1799 小Z的黑白棋
- 关于数学期望的总结
- 抽奖模型的数学期望
- 数学期望
- 数学期望
- 数学期望
- 【数学期望】【NOIP模拟赛】连续段的期望
- 计算可能组合数目的数学期望
- 随机变量数学期望的一个实例
- 常见随机变量的数学期望和方差
- bzoj3450 Tyvj1952 Easy 简单的数学期望
- CSU 1690 期望DP + 数据结构
- [CSU 1803 2016]数学
- CSU 1505: 酷酷的单词(数学啊)
- CSU 1409: 集合的并(数学啊 )
- The Guru Myth
- motor joint
- Hard Work Does Not Pay Off
- 黑马程序员——java面向对象思想
- How to Use a Bug Tracker
- CSU 1596 Dick.Z 的炉石赛 数学期望
- 缺陷的必然性
- 黑马程序员——java集合学习笔记
- 黑马程序员——java中数据类型包装类
- 判断一本书是否为好书的方法
- Sql Server2008——远程过程调用失败
- 为效益而测试
- Problem 2195 检查站点
- 一个s的力量