栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

C#纸牌游戏中的最佳纸牌选择

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#纸牌游戏中的最佳纸牌选择

使用递归从最简单的情况构建解决方案。

假设

D
是纸牌阵列。设
A
您的牌
B
总数为对手的牌总数。设置
S =A-B
为游戏的价值。如果你赢了
S>0
,如果输
S<0
和领带如果
S==0

最简单的方法是一次执行两个动作,然后是对手确定的动作。有两种基本情况需要考虑:

  • 如果

    length(D) == 0
    ,请返回
    S
    。游戏结束了。

  • 如果

    length(D) == 1
    ,请返回
    S + D[0]
    。您选择剩余的卡,游戏结束。

对于递归情况,当时

length(D) > 1
,评估两种可能性

  • L
    是比赛的结果,如果你选择了左侧的卡,随后被对手做他的确定性的举动,即

L = D[0] - max(D[1],D[N-1]) + cardGamevalue(newD)

  • R
    是比赛的结果,如果你选择正确的卡,随后被对手做他的确定性的举动,即

R = D[N-1] - max(D[0],D[N-2]) + cardGamevalue(newD)

选择与较大数字相对应的播放,即“

D[0]
如果”
L>=R
,否则“”
D[N-1]
。在这里
N = length(D)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637408.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号