必ず解ける迷路
Posted feedbacks - Python
壁に孔をあける位置をランダムに。マシンが遅いので、Pentium2 266MHz で psyco を使って4分くらいです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # coding: shift_jis
import codecs
import random
def create_maze(path, n, m):
io = codecs.open(path, "w", "shift_jis")
holes = [random.randint(1, 2 * m - 1) for _ in xrange(n - 1)]
for y in xrange(2 * m + 1):
for x in xrange(2 * n + 1):
if x == 0 or x == 2 * n or y == 0 or y == 2 * m:
io.write(u"■")
elif x % 2 == 1 or holes[x // 2 - 1] == y:
io.write(u" ")
else:
io.write(u"■")
io.write("\n")
def main():
create_maze("a.txt", 1024, 1024)
if __name__ == "__main__":
try:
import psyco
except ImportError:
pass
else:
psyco.full()
main()
|

squld
#5275()
Rating9/11=0.82
[ reply ]