社区
数据结构与算法
帖子详情
拼图问题
sswang
2003-12-01 11:19:16
能不能给个算法。按游戏自己完成拼图。
eg: 3 * 3 拼图,初始矩正:
0 1 2
3 4 5
6 7 8
rand 之后:
3 7 8
2 4 6
1 5 0
( 每个数字代表一张图片)
初始位置:
第 0 张图片的位置是 0, 0
第一 张图片的位置是 0,1
。。。
第 8 张图片的位置是 2,2
游戏开始后,给个算法按图片移到自己的位置。
即演示拼图的过程。
...全文
146
7
打赏
收藏
拼图问题
能不能给个算法。按游戏自己完成拼图。 eg: 3 * 3 拼图,初始矩正: 0 1 2 3 4 5 6 7 8 rand 之后: 3 7 8 2 4 6 1 5 0 ( 每个数字代表一张图片) 初始位置: 第 0 张图片的位置是 0, 0 第一 张图片的位置是 0,1 。。。 第 8 张图片的位置是 2,2 游戏开始后,给个算法按图片移到自己的位置。 即演示拼图的过程。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wbel
2003-12-02
打赏
举报
回复
关注!!
llrock
2003-12-02
打赏
举报
回复
打乱的过程模仿移动,记录下来。不过回放肯定不是最简解法。
zzwu
2003-12-01
打赏
举报
回复
我从前编过这样的游戏软件,供人们手工来玩,其中有这样一段说明:
....
这种游戏已经历了许多世纪,其中蕴含着深刻的数学问题,历史上许多大数学家也都对它有过兴趣。实际的游戏可以为N*N个方格矩阵,其中除右下一格为空外,其余都被标有数字1到N*N-1的方块随机布着。游戏时,要不断移动板上的数字方块,直到将它们整理成由小到大的自然顺序。移动的步数要愈少愈好, 完成的时间自然也要愈短愈好。
这里要求每一步移动都是空格周围某一方块向空格处移动,与空格不相邻的方块则不能移。因受这一条件的制约,有的初始布局不可能整理成递增的自然顺序。究竟哪一类初始布局能整理成自然顺序,哪一类布局不能整理成自然顺序呢? 这一问题早在1879年已证明了一个定理,即初始布局由自然顺序经过偶数次相邻元素(方块)交换产生的,就能整理成自然顺序;而由自然顺序经过奇数次相邻元素交换产生的布局,则不能整理成自然顺序。例如图2a那样的布局就不能整理成自然顺序,因为它可由图1a经过相邻元素1和7的一次交换产生,而图1a实验证明能整理成自然顺序,故它必定是由自然顺序经过偶数次相邻元素交换得来,由此可知图2a必须是由自然顺序经过奇数次邻元交换产生,故不能整理成自然顺序。由图2a出发,最终获得的是图2b那样的结果。
这一数学定理告戒人们,存在不能整理成自然顺序的布局! 对于这种布局就不要再去试,否则就会浪费时间,是枉费心机。但是,一种初始布局给出后,怎样知道它是由自然顺序经过几次相邻元素交换得到? 能整理成自然顺序的布局,又如何确定最少要几步? 步骤又怎样? 不能整理成自然顺序的布局,怎样判定它不能?等,都不是显而易见容易回答的问题,所以不能以为1879的定理已解决了一切,从此游戏就没有意义了。事实上,现代数学的特点就是不但要解决能行性(即算法的存在不存在)问题,还要在"能行"时,找出具体算法,并考虑算法的复杂性,最后在计算机上实现它(即编制出程序),用它来解决生产实践中遇到的各种实际问题。对于从本游戏中发现的问题我们也应这样做,而且也能够这样做,这就是"平面调度"问题,研究它们不仅绕有兴趣,而且也有广泛的实用背景。
sswang
2003-12-01
打赏
举报
回复
如果随机产生,那么游戏玩家不可能赢?
zzwu
2003-12-01
打赏
举报
回复
如果新矩阵
3 7 8
2 4 6
1 5 0
是随机产生的,则有一半几率是无法从原始矩阵
0 1 2
3 4 5
6 7 8
通过单元移动来达到目标。
stephen85
2003-12-01
打赏
举报
回复
关注!!
sswang
2003-12-01
打赏
举报
回复
初始:
_____________________
| 0 | 1 | 2 |
|_____|______|______|
| 3 | 4 | 5 |
|_____|______|______|
| 6 | 7 | S |
|_____|______|______|
如果将下面矩阵变为初始:
_____________________
| 0 | 1 | 2 |
|_____|______|______|
| 3 | 4 | 7 |
|_____|______|______|
| 6 | 5 | S |
|_____|______|______|
可不可能?
偶数次相邻元素(方块)交换产生?
能不能给出一点步骤。
S 代表 空位置
数学建模--
拼图
问题
论文.doc
数学建模--
拼图
问题
论文.doc 数学建模是数学科学中的一种重要方法,它可以将复杂的
问题
转化为数学模型,并通过数学计算和分析来解决
问题
。在本文中,我们将讨论数学建模在
拼图
问题
中的应用。
拼图
问题
是指将破碎的...
拼图
游戏_
拼图
游戏_VC++
这可能涉及到排序算法(如快速排序或归并排序)、搜索算法(如深度优先搜索或广度优先搜索)来解决
拼图
问题
。 5. **事件驱动编程**:VC++的事件驱动模型允许程序响应用户的点击、拖动等操作。你需要为各个控件设置...
基于遗传算法的
拼图
自动完成游戏代码
在
拼图
问题
中,这可能涉及到交换两块相邻
拼图
的位置或者分割并重新组合
拼图
的一部分。 5. **变异操作**:对一部分个体进行随机变化,以增加种群的多样性,防止过早收敛到局部最优解。在
拼图
游戏中,变异可能表现为...
自动解决智能
拼图
,A*算法+生成可解
拼图
(C++)
在本项目中,我们主要探讨的是如何利用计算机算法来解决智能
拼图
问题
,特别是通过A*算法实现自动化求解。智能
拼图
,也被称为滑动
拼图
或十五
拼图
,是一种经典的逻辑游戏,玩家需要通过移动空格将打乱的数字方块重新...
delphi
拼图
游戏源码
5. **自动
拼图
算法**:如果游戏提供了自动
拼图
功能,那么源码中可能包含一个算法来解决
拼图
问题
。这可能是一个简单的穷举法,也可能是更复杂的搜索算法,如A*搜索或深度优先搜索。 6. **性能优化**:由于
拼图
游戏...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章