青蛙过河问题

本文介绍了青蛙过河的智力游戏及其解决方案。通过分析得出移动策略,并提供了C++代码实现,演示如何用最少步数使两队青蛙分别到达对岸。
摘要由CSDN通过智能技术生成

        青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3 只青蛙,如 图 10-19所示。这些 青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动。在移动过程中,育蛙可以向 前面的空位中移动,不可一次跳过两个位置,但是可以跳过对方一只青蛙进入前面的一个空位。问 两队青蛙该如何移动才能够用最少的步数分别走向对岸?

先来分析一下青蛙过河问题。可以采用如下的方案来移动青蛙, 

(1)左侧的青蛙向右跳过右侧的一只青蛙,落入空位,执行第 

(2)右侧的青蛙向左跳过左侧的一只青蛙,落入空位,执行第 

(3)左侧的青蛙向右移动一格,落入空位,执 行 第 (5 ) 步。

 (4) 右侧的青蛙向左移动一格,落入空位,执 行 第 (5 ) 步。 

(5) 判断是否已将两队青蛙移动对岸,如果没有则继续从第(1 ) 步执行,否则结束程序。
 
我们可以按照这个思路来编写相应的青蛙过河问题的求解算法


C+&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值