※ 引述《yauhh (哟)》之铭言:
: ※ 引述《EdisonX (闭上眼的鱼)》之铭言:
: : [2] 如何产生出一条迷宫
: : 如何产生一条,具有唯一解,且任两点必相通的迷宫?
: : 假设是 M x N,网络上是有种方法可以产生,但前提限制是,
: : M, N 必须为奇数 ( 为什么一定要奇数我也想不透,但实际跑偶数真的有问题),
: : 请问是否有产生符合以下条件迷宫的方法?
: : (a) 出口 / 入口不用限制在边界上,可以设在迷宫内部
: : (b) 任两点必定相通
: : (c) M x N,M, N >2,For All M, N
: : (d) 不会造成回路,且只有唯一一条路径。
: 我不会程式解迷宫,不过你这个问题,如何产生有惟一解的迷宫,从你的描述,
: 大概知道答案了.
: 树结构,其中二点特性,一是任二点之间只存在一条连通路径,二是不存在回路.
: 做一个任意树,选一个端点做入口,另一个端点做出口,把树摊开放在平面上,
: 就是你要的迷宫.
我很鸡婆,再延伸一下想法:
有个乱数取值函数写成 rand(m..n) 表示产生介于 m, n (含二数)之间的整数.
从一个点(x,y)开始长出路线,由于视一面是退路,所以只乱数往其他三面长出路线.
n1= (rand(0..1)==0? null : rand(0..u1))
(x,y)