用 Python 查找赢得 Lotus 和 Caterpillar 游戏所需的预期移动次数的程序
假设我们有一个n行m列的网格。Amal和Bimal正在那个网格上玩游戏。游戏规则如下-
Amal将白莲花瓷砖放在顶行的某处,而Bimal则在底行某处放置了一块毛毛虫瓷砖。Amal开始游戏,他们交替进行。Amal可以将他的瓷砖移动到当前单元格内的8个相邻单元格中的任何一个,但Bimal的毛毛虫瓷砖只能在网格内向左或向右移动,或停留在同一位置。Amal的目标是使用尽可能少的动作抓住Bimal,而Bimal(使用毛毛虫瓷砖)必须尽可能长时间地生存。如果他们随机选择两列来放置他们的莲花和毛毛虫,那么我们必须找到Amal赢得这场比赛所需的预期移动次数。
因此,如果输入类似于n=5m=7,那么输出将是4.571428571428571。
示例
让我们看看以下实现以获得更好的理解-
def solve(n, m):
r = 0
for l in range(m):
temp = n - 1.0
if l >= n:
temp += (l - n + 1) * ((l - 1) / m)
if l < m - n:
temp += (m - n - l) * ((m - l - 2) / m)
r += temp / m
return r
n = 5
m = 7
print(solve(n, m))输入
5, 7输出结果
4.571428571428571
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短