社区
数据结构与算法
帖子详情
游戏中的算法,有点难度的
wuwify
2012-09-05 10:02:28
好吧,我承认我是想偷个懒
想写个程序把游戏玩通关了
但我也没想明白,来这里求教了~~
题目:
在一张 N * M 的网格图中,给定一些点。
两个点为一组,其颜色相同
用线条将相同颜色的点连接起来
要求线条
不能交叉
请给出所有线条连接
最短
的算法
如下图
...全文
202
4
打赏
收藏
游戏中的算法,有点难度的
好吧,我承认我是想偷个懒 想写个程序把游戏玩通关了 但我也没想明白,来这里求教了~~ 题目: 在一张 N * M 的网格图中,给定一些点。 两个点为一组,其颜色相同 用线条将相同颜色的点连接起来 要求线条不能交叉 请给出所有线条连接最短的算法 如下图
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiang_xiaohan
2012-09-07
打赏
举报
回复
游戏高玩啊,gaowan
wuwify
2012-09-07
打赏
举报
回复
感谢,差不多想通了
天下第一好大人
2012-09-06
打赏
举报
回复
膜拜1楼。
FancyMouse
2012-09-06
打赏
举报
回复
最小费用最大流就能满足要求。不过如果需要线路不交叉的话那需要改一下图。
新图是两层N*M的图,总共2*N*M个点,这里我用(i,j,k)来表示一个点,0<=i<n,0<=j<m,k=0,1。对于原图里任何一组相邻边(x,y)-(z,w)(即|x-y|+|z-w|=1的所有(x,y,z,w)),在新图里建立一条边(x,y,1)->(z,w,0)以及(z,w,1)->(x,y,0)。此外对于所有点(x,y),在新图里建立一条边(x,y,0)->(x,y,1)。所有边的容量费用都是1。
最后建立一个源点s汇点t,如果有一组(x,y),(z,w)需要连接,那从s连到(x,y,0),再从(z,w,1)连到t,容量1费用0。然后直接跑最小费用最大流就能出解了。如果跑出来的最大流不是点的对数的话不存在连接所有点对的解。
以上模型是基于线路和线路之间不能有任何交点,哪怕交点只有1个也不行。如果题目要求是不能共享边但是可以共享点的话那就不用拆图了,直接原来的N*M的图上建立源点汇点就行。
VC++
中
国象棋经典
游戏
源代码
VC++源码版的
中
国象棋
游戏
,人机对战。在电脑上是不是经常见到这款
游戏
啊?...超强
难度
的搜索引擎和
算法
、估值函数以及开局库,还有大量的开局库资料都将为您展现出来。研究VC++
游戏
编程的朋友可绝不要错过哦!
数独
游戏
的
难度
等级分析及求解
算法
研究2——数独
难度
等级
数独
游戏
发展至今,在数独爱好者的积极探索下,求解数独的
算法
众多,有矩形顶点删减法、关键数删减法等[7]。解答一道数独问题是一种或多种方法相互结合,为了使玩家能循环渐进解决数独题目,并且在解答数独过程
中
...
Unity
游戏
开发客户端面经——
算法
(初级)
Unity
游戏
开发客户端面经之
算法
篇
拼图
游戏
常用
算法
拼图
游戏
常用
算法
1、随机数组生成 //随机矩阵 /** * * @param {Object} arr 要混洗的范围 * @param {Object} count 得到数组的大小 */ function getRandomArrayElements(arr, count) { //拷贝所有数组...
俄罗斯方块
游戏
算法
分析
该
游戏
算法
比较简单,主要功夫都在界面体验上了,比如方块图形、用户控制、消去与累计等。 图形我们采用GDI+画图方式显示,共8种图形,当然可以根据自己的喜好随意定制。如何表示图形?我们可以借鉴马赛克效果。...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章