请选择 进入手机版 | 继续访问电脑版

继续修炼——从一种状态到另一种状态的最短路径(之goto语句)

[复制链接]
孤单 发表于 2021-1-2 19:43:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
继续修炼——从一种状态到另一种状态的最短路径(之goto语句)

参考:继续修炼——从一种状态到另一种状态的最短路径
照旧把题目再说一遍,否则续得太多,都不知道题目是什么了。
问题:在一行数据中,有3个1,3个2,1个0,0(空格)在中间,1和2分居左右,每个数据占据一格,如下:
  1. 1, 1, 1, 0, 2, 2, 2
复制代码
通过移动把上述分列变成:
  1. 2, 2, 2, 0, 1, 1, 1
复制代码
移动规则:
1、1只能向右移动,2只能向左移动。
2、在下列两种条件下可以移动:一是移动一格,恰好进入到空格子中,二是跳过一个与自身非相同数字进入到空格。数字移动或跳动之后留下一个空格。
要求:通过键盘输入整数n,组成2n+1个数据的分列,显示移动过程。
前面采取了宽搜和递归,但效率照旧打折扣的。如果n再大一些,比方20,时间就很长了。
通太过析已经获取的数据,发现空格出现蛇形厘革,找了半天的规律,终于找到了,速度很快。当n比力大的时候,把1换成A,2换成B,0换成空格,可以发现图形在打印过程中出现奥妙厘革,看看吧。
[code][/code]
来源:https://blog.csdn.net/qsgctysj/article/details/112075099
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )