求助一道算法题!2、有三个白子和三个黑子如下图布置:○○○ ●●●用最少的步数将上图中白子和黑子的位置进行交换:●●●
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/08/17 08:22:08
求助一道算法题!
2、有三个白子和三个黑子如下图布置:
○○○ ●●●
用最少的步数将上图中白子和黑子的位置进行交换:
●●● ○○○
规则是:
(1)一次只能移动一个棋子;
(2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子.
(本题共60分,要求1占30分,要求2占30分)
要求:
(1)分析问题,找出规律,总结出规则和算法,并描述你的算法设计思想.
2、有三个白子和三个黑子如下图布置:
○○○ ●●●
用最少的步数将上图中白子和黑子的位置进行交换:
●●● ○○○
规则是:
(1)一次只能移动一个棋子;
(2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子.
(本题共60分,要求1占30分,要求2占30分)
要求:
(1)分析问题,找出规律,总结出规则和算法,并描述你的算法设计思想.
![求助一道算法题!2、有三个白子和三个黑子如下图布置:○○○ ●●●用最少的步数将上图中白子和黑子的位置进行交换:●●●](/uploads/image/z/5671460-20-0.jpg?t=%E6%B1%82%E5%8A%A9%E4%B8%80%E9%81%93%E7%AE%97%E6%B3%95%E9%A2%98%212%E3%80%81%E6%9C%89%E4%B8%89%E4%B8%AA%E7%99%BD%E5%AD%90%E5%92%8C%E4%B8%89%E4%B8%AA%E9%BB%91%E5%AD%90%E5%A6%82%E4%B8%8B%E5%9B%BE%E5%B8%83%E7%BD%AE%EF%BC%9A%E2%97%8B%E2%97%8B%E2%97%8B+%E2%97%8F%E2%97%8F%E2%97%8F%E7%94%A8%E6%9C%80%E5%B0%91%E7%9A%84%E6%AD%A5%E6%95%B0%E5%B0%86%E4%B8%8A%E5%9B%BE%E4%B8%AD%E7%99%BD%E5%AD%90%E5%92%8C%E9%BB%91%E5%AD%90%E7%9A%84%E4%BD%8D%E7%BD%AE%E8%BF%9B%E8%A1%8C%E4%BA%A4%E6%8D%A2%EF%BC%9A%E2%97%8F%E2%97%8F%E2%97%8F)
计算机解决胜这类问题的关键是要找出问题的规律,或者说是要制定一套计算机行动的规则.分析本题,先用人来解决问题,可总结出以下规则:
(1) 黑子向左跳过白子落入空格,转(5)
(2) 白子向右跳过黑子落入空格,转(5)
(3) 黑子向左移动一格落入空格(但不应产生棋子阻塞现象),转(5)
(4) 白子向右移动一格落入空格(但不应产生棋子阻塞现萌),转(5)
(5) 判断游戏是否结束,若没有结束,则转(1)继续.
所谓的“阻塞”现象就是:在移动棋子的过程中,两个尚未到位的同色棋子连接在一起,使棋盘中的其它棋子无法继续移动.例如按下列方法移动棋子:
0
○ ○ ○ .● ● ●
1 ○ ○ .○ ● ● ●
2 △ ○ ○ ● ○ .● ●
3
○ ○ ● .○ ● ●
4 两个●连在一起产生阻塞
○ ○ ● ● ○ .●
或4 两个白连在一起产生阻塞
○ .● ○ ○ ● ●
产生阻塞的现象的原因是在第2步(△状态)时,棋子○不能向右移动,只能将●向左移动.
总结产生阻塞的原因,当棋盘出现“黑、白、空、黑”或“白、空、黑、白”状态时,不能向左或向右移动中间的棋子,只移动两边的棋子.
按照上述规则,可以保证在移动棋子的过程中,不会出现棋子无法移动的现象,且可以用最少的步数完成白子和黑子的位置交换.
(1) 黑子向左跳过白子落入空格,转(5)
(2) 白子向右跳过黑子落入空格,转(5)
(3) 黑子向左移动一格落入空格(但不应产生棋子阻塞现象),转(5)
(4) 白子向右移动一格落入空格(但不应产生棋子阻塞现萌),转(5)
(5) 判断游戏是否结束,若没有结束,则转(1)继续.
所谓的“阻塞”现象就是:在移动棋子的过程中,两个尚未到位的同色棋子连接在一起,使棋盘中的其它棋子无法继续移动.例如按下列方法移动棋子:
0
○ ○ ○ .● ● ●
1 ○ ○ .○ ● ● ●
2 △ ○ ○ ● ○ .● ●
3
○ ○ ● .○ ● ●
4 两个●连在一起产生阻塞
○ ○ ● ● ○ .●
或4 两个白连在一起产生阻塞
○ .● ○ ○ ● ●
产生阻塞的现象的原因是在第2步(△状态)时,棋子○不能向右移动,只能将●向左移动.
总结产生阻塞的原因,当棋盘出现“黑、白、空、黑”或“白、空、黑、白”状态时,不能向左或向右移动中间的棋子,只移动两边的棋子.
按照上述规则,可以保证在移动棋子的过程中,不会出现棋子无法移动的现象,且可以用最少的步数完成白子和黑子的位置交换.
求助一道算法题!2、有三个白子和三个黑子如下图布置:○○○ ●●●用最少的步数将上图中白子和黑子的位置进行交换:●●●
有一堆围棋子,其中黑子和白子个数比是4比3,从中取出91枚棋子,黑子与白子个数的比是8比5,而剩下的棋子中黑子和白子个数
有黑白棋子一堆,其中黑子个数是白子个数的2倍,如果从这堆棋子中每次同时取出4个黑子和3个白子,那么取几次后,白子剩下一个
有黑、白棋子一堆,其中黑子个数是白子个数的2倍.如果从这堆棋子中每次同时取出4个黑子和3个白子,那么取几次后,白子剩下1
有一堆围棋子,其中黑子个数是白子的2倍,现在从这堆棋子中每次取出5枚黑子和3枚白子,取了若干次以后,白子全部取尽了,而黑
甲、乙两堆棋子中都有白子和黑子.甲堆中白子与黑子的颗数比是2:1,乙堆中白子与黑子的颗数比是4:7.如果从乙堆拿出3颗黑
有三堆围棋子,每堆80枚.第一堆中的白子和第二堆中的黑子一样多,第三堆中白子枚数是黑子的2/3
有一堆围棋,黑色是白子的2/3,现在取出12粒黑子,添上18粒白子后,黑子的粒数是白子的5/12,现在黑子,
有一堆围棋子,黑子是白子的2/3.现在取出12粒黑子,添上18粒白子后,黑子是白子的
盒子里有黑白棋子共80颗.小明从盒子里取岀黑子的1/7和20颗白子后,黑子的颗数是白子的2倍,原有黑子多少颗
2.有一堆棋子,黑子是白子的2/3,现在取走12粒黑子,添上18粒白子后,黑子是白子的5/12,现在白子、黑子各有多少粒
有一堆围棋子,黑子是白子的2/3,现在取走12粒黑子,填上18粒白子后,黑子是白子的5/12,现在白子、黑子各有多少粒?