问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么用回溯法来实现迷宫问题,其中用'*'来表示墙,用A来表示路径!!1

发布网友 发布时间:2022-05-10 07:14

我来回答

2个回答

懂视网 时间:2022-05-10 11:35

这篇文章主要介绍了Python使用回溯法解决迷宫问题,简单讲述了迷宫问题的原理并结合实例形式分析了Python基于回溯法子集树模板解决迷宫问题的相关操作技巧与注意事项,需要的朋友可以参考下

本文实例讲述了Python使用回溯法解决迷宫问题。分享给大家供大家参考,具体如下:

问题

给定一个迷宫,入口已知。问是否有路径从入口到出口,若有则输出一条这样的路径。注意移动可以从上、下、左、右、上左、上右、下左、下右八个方向进行。迷宫输入0表示可走,输入1表示墙。为方便起见,用1将迷宫围起来避免边界问题。

分析

考虑到左、右是相对的,因此修改为:北、东北、东、东南、南、西南、西、西北八个方向。在任意一格内,有8个方向可以选择,亦即8种状态可选。因此从入口格子开始,每进入一格都要遍历这8种状态。

显然,可以套用回溯法的子集树模板。

注意,解的长度是不固定的。

代码


# 迷宫(1是墙,0是通路)
maze = [[1,1,1,1,1,1,1,1,1,1],
 [0,0,1,0,1,1,1,1,0,1],
 [1,1,0,1,0,1,1,0,1,1],
 [1,0,1,1,1,0,0,1,1,1],
 [1,1,1,0,0,1,1,0,1,1],
 [1,1,0,1,1,1,1,1,0,1],
 [1,0,1,0,0,1,1,1,1,0],
 [1,1,1,1,1,0,1,1,1,1]]
m, n = 8, 10 # 8行,10列
entry = (1,0) # 迷宫入口
path = [entry] # 一个解(路径)
paths = [] # 一组解
# 移动的方向(顺时针8个:N, EN, E, ES, S, WS, W, WN)
directions = [(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]
# 冲突检测
def conflict(nx, ny):
 global m,n,maze
 # 是否在迷宫中,以及是否可通行
 if 0 <= nx < m and 0 <= ny < n and maze[nx][ny]==0:
 return False
 return True
# 套用子集树模板
def walk(x, y): # 到达(x,y)格子
 global entry,m,n,maze,path,paths,directions
 if (x,y) != entry and (x % (m-1) ==0 or y % (n-1) == 0): # 出口
 #print(path)
 paths.append(path[:]) # 直接保存,未做最优化
 else:
 for d in directions: # 遍历8个方向(亦即8个状态)
 nx, ny = x+d[0], y+d[1]
 path.append((nx,ny)) # 保存,新坐标入栈
 if not conflict(nx, ny): # 剪枝
 maze[nx][ny] = 2 # 标记,已访问(奇怪,此两句只能放在if区块内!)
 walk(nx, ny)
 maze[nx][ny] = 0 # 回溯,恢复
 path.pop() # 回溯,出栈
# 解的可视化(根据一个解x,复原迷宫路径,'2'表示通路)
def show(path):
 global maze
 import pprint, copy
 maze2 = copy.deepcopy(maze)
 for p in path:
 maze2[p[0]][p[1]] = 2 # 通路
 pprint.pprint(maze) # 原迷宫
 print()
 pprint.pprint(maze2) # 带通路的迷宫
# 测试
walk(1,0)
print(paths[-1], '
') # 看看最后一条路径
show(paths[-1])

效果图

热心网友 时间:2022-05-10 08:43

爱莲说
(宋)周敦颐
水陆草木之花,可爱者甚蕃。晋陶渊明独爱菊;自李唐来,世人盛爱牡丹;予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。噫!菊之爱,陶后鲜有闻;莲之爱,同予者何人;牡丹之爱,宜乎众矣。

[注释]:
(1)爱莲说:选自《周元公集》。作者周敦颐著名的唯心主义哲学家。“说”,是古代论说文的一种体裁,可以说明事物,也可以论述道理。
(2)蕃:多。
(3)晋陶渊明独爱菊:陶渊明(365-427),一名潜,字元亮,东晋浔阳(现在江西省九江县)人,著名的诗人。他很爱菊花,常在诗里写到,如《饮酒》诗里的“采菊东篱下,悠然见南山”,向来称为名句。
(4)自李唐来,世人甚爱牡丹:唐朝以来,人们很爱牡丹。李唐,指唐朝。唐朝的皇帝姓李,所以称为“李唐”。世人,社会上的一般人。唐人爱牡丹,古书里有不少记载,如唐朝李肇的《唐国史补》里说:“京城贵游,尚牡丹……每春暮,车马若狂……种以求利,一本(一株)有直(同“值”)数万(指钱)者。”
(5)予独爱莲之出淤泥而不染:我单单喜欢莲花,喜欢它从污泥里生出却不被沾染。淤泥,池塘里积存的污泥。
(6)濯(zhuó)清涟而不妖:在清水里洗过却不妖艳。濯,洗涤。清涟,水清而有微波的样子,这里指清水。妖,美丽而不端庄。
(7)不蔓不枝:不牵牵连连的,不枝枝节节的。
(8)香远益清:香气越远越清。益,更,越。
(9)亭亭:耸立的样子。
(10)亵(xiè)玩:玩弄。亵,亲近而不庄重。
(11)隐逸者:隐居的人。封建社会里,有些人不愿意跟统治者同流合污,便隐居避世。
(12)牡丹,花之富贵者也:牡丹是花中的“富人”。
(13)君子:道德高尚的人。
(14)噫(yī):叹词,相当于“唉”。
(15)菊之爱:对于菊花的爱好。
(16)鲜(xiǎn)有闻:很少听到。鲜,少。
(17)宜乎:宜,当,这里和“乎”连用,有“当然”的意思。

[译文]:水上地上各种草和木的花,可爱的是很多的。晋朝陶渊明唯独喜爱菊花。从唐朝以来,世上的人们非常喜爱牡丹。我唯独喜爱莲花,它从污泥中长出来,却不受到污染,在清水里洗涤过但是不显得妖媚,它的茎中间贯通,外形挺直,不牵牵连连,不枝枝节节的,香气远播,更加清香,笔直地洁净地立在那里,可以远远地观赏但是不能贴近去轻慢地玩弄啊。
我认为,菊花是花中的隐士;牡丹,是花中的富贵者;莲花,是花中的君子。
唉!爱菊花的人,从陶渊明以后很少听到过。爱莲花的人,像我一样的人还有什么人呢?至于爱牡丹的人,人数当然就很多了!

“说”,古代文体之一,它往往借描绘事物以抒情言志。周敦颐的《爱莲说》正是这种托物言志的文体中一篇不可多得的传世佳作。

[赏析]:周敦颐,北宋人,其人一生澹泊名利,不求闻达。他的这种高洁的人品,诚如北宋文学大家黄庭坚所誉:“人品甚高,胸怀洒落,如光风霁月……”而他的传世散文佳作《爱莲说》恰恰正是他酒落胸怀所透射而出的精神折光。

莲花,是古往今来文人笔下高歌咏叹的对象,但大多数文人都是惊叹于它的清姿素容,并将其形诸笔端;而这笔散文精品却独辟蹊径,通过对莲的形象和品质的描写,歌颂了莲花坚贞的品格,从而也表现了作者洁身自爱的高洁人格和洒落的胸襟。

从内容上看,这篇文章可明显分为二部分:前一部分对莲花高洁的形象极尽铺排描绘之能事;第二部分则揭示了莲花的比喻义,分评三花,并以莲自况,抒发了作者内心深沉的概叹。

文章的前一部分,写出了莲花之美就在于其一个“洁”字。首先,“出淤而不染,濯清莲而不妖”写出了莲花身处污泥之中,却纤尘不染,不随世俗、洁身自爱和天真自然不显媚态的可贵精神;其次,“中通外直,不蔓不枝”,写出了它里外贯通、外表挺直、表里如一、不牵扯攀附的高尚品质;再次“可远观而不可亵玩”,写出了莲如傲然不群的君子一样,决不被俗人们轻慢玩弄。

前文所说的一切,事实上是作者人格的写照,是作者心志的自明,关于这一点,我们可以从文章的第二部分得到明证。正如作者所说:“莲之爱,同予者何人?”其间的潜台词就是感慨于象他一样具有莲花之洁的人实在太少了。

在写法上,《爱莲说》具有“说”这一文体的共同特点,即托物言志。文章从“出淤泥而不染”起,以浓墨重彩描绘了莲的气度、莲的风节,寄予了作者对理想人格的肯定和追求,也反射出作者鄙弃贪图富贵、追名逐利的世态的心理和自己追求洁身自好的美好情操。同时,文章还运用了对比,反衬的手法,在文中几次以菊、牡丹反衬莲之美;还把菊花的隐逸,牡丹的富贵和莲花的高洁相对比,使“爱莲”之一主题得以加深,没有空洞的说教,而是通过三种形象的对比,起到了突出中心,加深立意的作用,手法可谓高明之极。而且,文章以一个“爱”字贯通全文,使得文章结构谨严。 在文章结尾,作者一叹真正隐逸的高士极少,二叹品格高尚的君子罕见,三叹贪慕富贵的俗人很多,耐人寻味,发人深省。

这首诗在语言上也同样富有特色,那就是优美简炼,的确是如莲之美——“不枝不蔓”,没有多余的无用之语

莲花的美丽别称
(1)芙蓉:《尔雅》:“荷,芙蕖,别名芙蓉,亦作芙容。”
(2)芙蕖:《尔雅·释草》:“荷、芙蕖。……其华菡萏,其实莲,其根藕。”
(3)藕花: 唐张籍《送从弟之苏州》诗:“夜月红柑树,秋风白藕花。”
(4)水芙蓉:《群芳谱》:“荷花亦称作芙蕖、水芙蓉。”
(5)草芙蓉:杜诗注云:产于陆者曰木芙蓉,产于水者曰草芙蓉。”
(6) 水花:李时珍《本草纲目》:“莲花”释名:“芙蓉、芙蕖、水华。”
(7)净友又称净客。莲花洁净不染,因此人们称其为净友。
(8)水芝:普崔豹《古今注》下“草木”:“芙蓉一名荷华,一名水目,一名水芝,一名水花。”
(9)泽芝:《类聚》郭璞《尔雅图赞 ·芙蓉赞 》云:“芙蓉丽草,一曰泽芝,……”
(10) 灵草:吴闵鸿《芙蓉赋并序》:“乃有芙蓉灵草,栽育中川。”
(11)玉环:《本草经》载:“荷花又名玉芝。”
(12)君子花:北宋周敦颐著《爱莲说》,谓莲为花中君子,莲又称“君子花”。
(13) 水宫仙子:因莲生水中,莲花亭亭玉立于水面,好似仙女飘然而行,故名。
(14) 菡萏:《尔雅》:“荷,芙蕖……其华菡萏。”

莲花与佛教
据 说 ,释 迦 牟 尼 本 是 天 上 的 菩 萨 ,下 凡 降 生 到 迦 毗 罗 卫 国 净 饭 王 处 。 净 饭 王 的 王 妃 摩 耶 夫 人 , 长 得 象 天 仙 一 样 美 丽 , 性 情 温 和 贤 淑 , 与 国 王情 深 似 海 。摩 耶 夫 人 回 忆 新 婚 之 夜 , 她 朦 胧 中 看 到 远 处 有 一 个 人 骑 着 一头 白 象 向 她 走 来 并 且 逐 渐 变 小 , 从 她 的 右 肋 处 钻 入 她 的腹 中 。 她 心 中 模 模 糊 糊 地 预 感 到 菩 萨 化 作 一 头 白 象 入 胎。 日 后 , 身 怀 有 孕 的 摩 耶 夫 人 脸 上 , 微 微 泛 着 红 晕 , 那 色 彩 鲜 艳 的 绿 色 领 口 花 边 象 一 片 莲 叶 , 她 的 脸 儿 象 一 朵 绽 开 的 莲 花 。 后 来 摩 耶 夫 人 在 娑 罗 树 下 降 生 佛 祖 时 , 百 鸟 群 集 歌 唱 , 天 乐 鸣 空 相 和 , 四 季 里 的 花 木 都 一 同 盛 开, 尤 其 是 沼 泽 内 突 然 开 放 出 大 得 象 车 盖 一 样 的 莲 花 。 佛祖 一 出 世 , 便 站 在 莲 花 上 , 一 手 指 天 , 一 手 指 地 , 并 说: “ 天 上 天 下 , 惟 我 独 尊 ” 。
不 仅 如 此 , 莲 还 与 佛 教 医 学 有 着 密 切 关 系 。 莲 花 含 有 丰 富 的 营 养 , 既 可 食 用 又可 药 用 。 古 代 女 子 常 采 清 晨 带 露 的 莲 花 敷 面 美 容 , 或 服 食 莲 花 以 养 颜。 莲 花 含 有 皮 素 和 木 樨 素 ,能 润 泽 肤 色 。 初 放 鲜 嫩 的 莲 花 用 开 水 泡 饮 , 其 汁 翠 绿 清 香 , 有 清 暑 解 热 和 生 津 开 胃 之 功 效 。 莲 的 地 下 根 茎 称 为 莲 藕 。 相 传 佛 祖 的 十 大 弟 子之 一 舍 利 弗 患 有 肺 结 核 , 目 犍 连 来 探 望 他 , 并 得 知 舍 利 弗 喜 欢 吃 莲 藕 , 就 带 些 新 鲜 莲 藕 让 舍 利 弗 吃 , 舍 利 弗 吃 莲 藕 后 果 然 病 愈 。 后 来 , 佛 祖 弟 子 经 常 用 莲 藕 作 为 药 用来 治 病 , 并 发 现 了 莲 藕 的 许 多 药 用 价 值 。

莲花的美好品质
在千古第一诗人屈原的代表作 《离*》中有这样的诗句“制芰荷以为衣兮,集芙蓉以为裳。”诗人为了表达自己不与世俗同流合污的决心,要穿上用莲花做成的香气馥郁的衣服。在这里,莲花这一形象,不仅象征着诗人高洁的品质和美好的修养,而且表现了诗人浓烈的*和奇幻的想象以及《离*》这首不朽杰作的浪漫主义特色。
“江南可采莲,莲叶何田田。鱼戏莲叶间。鱼戏莲叶东,鱼戏莲叶西,鱼戏莲叶南,鱼戏莲叶北。”这是汉代乐府民歌中的一首极为清新优美的小诗。在这首小诗中,“莲”既指实物花卉莲花,又是爱怜的“怜”谐音,以鱼戏莲叶隐喻男女之间的爱情,极其生动形象。在秀美的江南水乡的大背景中,采莲的男女主人公摇着小舟,自由地歌唱着纯洁美丽的爱情,该是一幅多么清新的图画!

“荷叶罗裙一色裁,芙蓉向脸两边开。乱入池中看不见,闻歌始觉有人来。”在唐代七绝圣手王昌龄的这首《采莲曲》中,采莲少女的美丽虽不着一字,却尽得风流,因为她们的身影已与风光秀丽、如诗如画的荷塘、莲花融为一体了。从这自然浑成、耐人寻味的意境中,我们不难感受到中国古典文学的魅力吧。
代表着南朝乐府民歌最高成就的《西洲曲》,更是对莲花和采莲有着细致入微的描写:“开门郎不至,出门采红莲。采莲南塘秋,莲花过人头。低头弄莲子,莲子青如水。置莲怀袖中,莲心彻底红。忆郎郎不至,仰首望飞鸿……”这首诗中采莲的情形,不仅生动地展示了江南水乡人民的生活,而且写出了采莲女主人公对远行丈夫深深的思念之情,语言清新明丽,意境悠远,情思缠绵。
以“诚斋体”闻名南宋诗坛的著名诗人杨万里的诗《晓出净慈寺送林子方》:“毕竟西湖六月中,风光不与四时同。接天莲叶无穷碧,映日荷花别样红。”在这首诗中,诗人撷取了“接天莲叶”和“映日荷花”两个典型景物,以通俗明快、流转圆活的风格,写出了六月里西湖的美丽风光,一改宋诗瘦硬生涩的弊端,极具自然灵性。
宋朝理学的创导者、哲学家周敦颐的《爱莲说》中有这样的句子:“予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭静植,可远观而不可亵玩焉……莲,花之君子者也。”在这篇托物言志的散文中,作者从不同的角度、不同的方面写尽了莲花的高洁品质、优雅气质、优美的姿态和庄重的仪表,表达了封建士大夫高洁的情操和志趣。自此,莲花便有了灵性,步入花中君子之列。
明代的许仲琳,在其著名的神魔小说《封神演义》中,塑造了一个莲花化身的少年英雄哪吒的形象,他纯真勇敢而又法力高强,敢于蔑视神权、打抱不平,极具正义和反抗精神,是我国古典文学中为人民群众所喜爱的人物形象之一。透过哪吒这一神话人物形象,我们看到莲花又变成了正义和勇敢的化身。

一代散文大师朱自清的美文《荷塘月色》,通过高超的艺术手法和情景交融的意境营造,写出了月下荷塘素淡朦胧的美:“曲曲折折的荷塘上面,弥望的是田田的叶子……,层层的叶子中间,零星地点缀着些白花,有婀娜的开着的,有羞涩的打着朵儿的,正如一粒粒的明珠,又如碧天里的星星,微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的……”月下的荷叶、荷花和荷塘,在现代作家朱自清的笔下简直就像一幅意境幽美的工笔画
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
按现行会计制度的规定,短期借款所发生的利息,一般应记入( )科目。 省钱输送机 江西同步带欧规皮带滚轮模组规格 请问91年3月12日是什么星座拜托各位大神 1991年3月11的双鱼座怎样拜托了各位 谢谢 ...年11月3号。这两个时间出生的人各是什么塔罗牌?拜托各位大神... 孤岛惊魂4怎么不显示dlc 微信百万保障诈骗是怎么回事 秋季大棚里应候种植什么蔬菜最适合 上海音乐学院钢琴十级通过率 美国为什么针对华为 买飞机票为什么付款时老显示请选择乘客是什么意思?要怎样才能买到票? 安卓手机屏幕应用放大了怎么复原 那个帮我把这篇作文拟个题目 最好是关于快乐的 描写动物的作文三百字百度知道 另我开心的事作文45o字 跪求500字作文啊啊啊 题目是一件令我高兴的事 那天我高兴 一件开心的事作文45o字 《暗芝居》中令人脊梁骨发凉的故事有哪些? 写作文了。。 一份喜悦与人分享,等于两份喜悦,一份委屈与人诉说,等于半分委屈。在你的成长过程中一定 作文:令人高兴的事。(四年级作文) 小学作文《一件令我高兴的事》300字左右 梦见下雨天唱戏是吉还是凶?求解 梦见唱戏哭的很利害 梦见妹妹唱戏,很悲伤的样子,有什么寓意? 金立M7右上角 有一个小手机卡一样的图标是什么 金立手机怎么去除角标 如果给幼儿讲司马光砸缸这类的历史故事应该注意哪些事项? 用自己的话写司马光这个故事,写几句。怎么写? 为什么美国要打压华为,不打压三星? 跟老公没离婚,但是老公已经跟他前妻住在一起了,请问算不算婚内出轨? 能不能把QQ登录设置为只能用邮箱登录不用号码登录 老公曾经有过近10年的婚姻,最终因为前妻出轨,感情无法弥补而离婚!我和他在一起会幸福吗? 为什么老公对他那个出轨风流的前妻没有办法,对我却如此狠心呢? 妻子先出轨了,妻子知道悔改,可是后来老公又出轨,这生活还能继续吗 老公因为前妻的出轨而离婚已经三年了,现在他们的女儿已经8岁了,跟着前妻。 老公说前妻出轨,后又留前妻照片说明了什么? 梦见老公和前妻出轨 迈克杰克逊的孩子小儿子 迈克尔杰克逊小儿子大名叫什么 G、 K 、 M打头的表示等级的英文字母分别是 迈克尔杰克逊是否有亲生儿女 迈克尔杰克逊的三个孩子都不是亲生的吗? 迈克尔·杰克逊de 三个孩子都不是他亲生的么? 迈克尔 杰克逊的小儿子的亲生母亲是波姬小丝吗? 给我介绍一下MJ的孩子们 迈克尔杰克逊的孩子多大了? 迈克尔杰克逊的儿子叫什么? 喜羊羊与灰太狼之嘻哈闯世界中喜羊羊他们要运送什么去大树之巅?