题目:

神魔圣域的一个小游戏,通过分析不同队伍赛马的状态,给出不同的赔率。玩家对自己看好的马队下注,获得金币,如图。

游戏中允许多次下注,通过什么策略可以保证自己稳赢不赔?

解答

其实,是一个线性规划的题目,四支队伍,拥有不同的赔率,可以通过线性组合,分析得出最佳的下注比例,保证下注后的稳定收益。

假设总金额投入为100,那么分配给四支队伍的金额分别为:
x 1 + x 2 + x 3 + x 4 = 100 x_1 + x_2 + x_3 + x_4 = 100 x1​+x2​+x3​+x4​=100
而收益的最差情况为:
S u m x 1 , x 2 , x 3 , x 4 = min ⁡ ( 8.4 × x 1 , 10.9 × x 2 , 3.1 × x 3 , 3.0 × x 4 ) Sum_{x_1,x_2,x_3,x_4} = \min(8.4 \times x_1, 10.9 \times x_2, 3.1 \times x_3, 3.0 \times x_4) Sumx1​,x2​,x3​,x4​​=min(8.4×x1​,10.9×x2​,3.1×x3​,3.0×x4​)
通过遍历所有组合:
B e s t M a t c h = max ⁡ ( S u m x 1 , x 2 , x 3 , x 4 ) f o r x 1 ∈ [ 0 , 100 ] , x 2 ∈ [ 0 , 100 − i ] , x 3 ∈ [ 0 , 100 − i − j ] , x 4 = 100 − i − j − k BestMatch = \max(Sum_{x_1,x_2,x_3,x_4}) \\ for\quad x_1 \in [0,100], x_2 \in [0,100-i], x_3 \in [0,100-i-j], x_4 = 100-i-j-k BestMatch=max(Sumx1​,x2​,x3​,x4​​)forx1​∈[0,100],x2​∈[0,100−i],x3​∈[0,100−i−j],x4​=100−i−j−k

代码

maxnum = 0
x1 = 0
x2 = 0
x3 = 0
x4 = 0
for i in range(0,101):for j in range(0, 101-i):for k in range(0, 101-i-j):d = 100 - i - j - k;minnum = 10000;if i * 8.4 < minnum:minnum = i * 8.4if j * 10.9 < minnum:minnum = j * 10.9if k * 3.1 < minnum:minnum = k * 3.1if d * 3.0 < minnum:minnum = d * 3.0if minnum > maxnum:maxnum = minnumx1 = ix2 = jx3 = kx4 = dprint(x1,x2,x3,x4,maxnum);

输出最佳条件为:(14, 11, 37, 38, 114.0),即使用这一组合[14, 11, 37, 38]下注,可以保证无论哪支队伍获胜,自己能获得的稳定收益最高。

注意:

python中的range的取值范围为:rang(a,b) 为[a,b)左闭右开区间

神魔圣域的赛马游戏下注问题相关推荐

  1. 炫酷赛马游戏:ZED RUN

    炫酷赛马游戏:ZED RUN 欢迎各位新老朋友,我们细说P2E(Play to Earn),为广大用户提供一个深入了解链游的平台.不定期的跟大家分享一些精品项目和最新链游方向,也欢迎大家关注我们. 我 ...

  2. 从赛马游戏看CyclicBarrier,从斗地主看CountDownLatch

    CyclicBarrier是栅栏,效果就是让多个线程都执行到某个指定的点之后,再一起继续执行.与CountDownLatch有点类似,最大的区别是CyclicBarrier可以循环使用. 这里举例两个 ...

  3. java赛马游戏,用JAVA语言实现赛马游戏

    用JAVA语言实现赛马游戏 用JAVA语言实现赛马游戏 在大二下半学期,学校举办了一场编程比赛.其中一个选题就是:用JAVA语言实现一个赛马游戏程序.此程序即为当时的参赛完成的程序. 程序界面风格在当 ...

  4. java赛马游戏_Java小程序赛马游戏实现过程详解

    这是当时做的一个小游戏,大概就是程序开始后,会进入用户登录界面,用户输入自己的姓名和密码后,选择登录会进入到赛马比赛的界面,这时可以看见赛马场和马匹的编号,用户可以选择任何一个编号的马进行投注,输入有 ...

  5. 模特赛马java课程设计_Thinking in Java---Concurrent包下的新构件学习+赛马游戏仿真...

    Java5的java.util.concurrent包下引入了大量的用于解决并发问题的新类:相对于前面那些基础的线程同步和通信的方法,这些新类是一种更高层次上的抽象,使用起来还是比较容易的.这篇博客就 ...

  6. CyclicBarrier实现赛马游戏

    CyclicBarrier实现赛马游戏 import java.util.ArrayList; import java.util.List; import java.util.Random; impo ...

  7. 利用CyclicBarrier实现赛马游戏

    赛马游戏 前言 最近在看CountDownLatch和CyclicBarrier相关的锁知识,看到网上有通过CyclicBarrier特性实现一个赛马游戏,觉得很有意思,就把他搬运过来. 背景 多匹马 ...

  8. PEGAXY首创科幻类赛马游戏

    欢迎各位新老朋友,我们细说P2E(Play to Earn),为广大用户提供一个深入了解链游的平台.不定期的跟大家分享一些精品项目和最新链游方向,也欢迎大家关注我们.我们第二十期分享的是Polygon ...

  9. 赛马游戏Horse Racing Winner即将启动

    赛马文化起源于英国,被称为国王的运动,是一种历史悠久高昂贵的爱好,是三大"贵族运动"之一.不仅仅参赛选手要盛装出席,练观众也是需要穿着正装.礼服观看.直到目前很多国家也还时常举办精 ...

最新文章

  1. 如何成为一个Android高手
  2. 24本实体书包邮免费送!
  3. 嵌入式应用开发第一阶段
  4. 数据库mysql存储过程_[数据库]mysql存储过程的建立及使用
  5. CSS常用选择器、伪元素选择器、伪类选择器大全——响应式Web系列学习笔记
  6. 从壹开始【学代码】|| 我开发中的用到的几个框架
  7. hdp安装 不安装mysql_hdp安装及使用问题汇总(一)
  8. tar解压出错tar: Child returned status 1
  9. Windows10配置Git远程连接到github(全网简单教程)
  10. 特斯拉上海超级工厂Model Y日产量达到1000辆 超过Model 3
  11. EXCEL 数据透视表的制作
  12. 不要老盯着存储,存储的价值在于数据流:Filenet
  13. 计算机基础——局域网、以太网技术、令牌环网
  14. 服务器虚拟资源池,虚拟资源池
  15. android发送语音动画,Android仿微信发送语音消息的功能及示例代码
  16. 第十七章、区网控制者: Proxy 服务器
  17. VB编程:UCase转大写,LCase转小写-4_彭世瑜_新浪博客
  18. 聚宽JQData说明书
  19. MySQL之mysqlcheck、check、optimize和analyze
  20. 白屏、首屏的定义、影响因素、优化方法

热门文章

  1. 高仿360手机卫士——Android源码
  2. 致家长:带娃练书法,这几个误区要小心!
  3. 心到抢票-为什么你抢不到火车票
  4. 解决 npm‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
  5. 装机软件四:看图软件
  6. C++ 快读 以及 快写 模板
  7. 无法将“babel”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  8. Mobileye闯红灯之后,这些问题值得我们深思
  9. 使用 arp 和 ip neigh 检查网络连接
  10. speedoffice(Excel)表格怎么插入分数?