Advent of Code 2022 Day 12
第1部分
- 计划:求解视觉
- 每个字母播放
Where's Waldo
- 通往
d
的最短路径然后e
- 将螺旋形成
z
- 螺旋式行走
计划:视觉求解
- 我不擅长编写传统最短路径算法,尤其是使用Dijkstra算法的算法 - 就像*
- 我已经成功地递归地穿越了2D网格作为半烘烤的替代方法
- 也许该技术在这里起作用
- 但我首先想看看我是否可以使用我的眼睛得出正确的答案,并仔细分析我的难题输入
每封信玩Where's Waldo
在输入的浏览器中使用Find
,我强调了每个字母:
从头开始如何?
嗯...我开始在字母的放置中注意到一些有趣的事情:
- 将无法避免在螺旋中从
d
转移到z
- 有两组
i
,j
和k
-一个似乎在d
周围创建了一堵墙,另一组是我需要使用的 -
d
到z
的所有字母 - 除了ijk
外,出现在一个群集中 - 有很多
c
s! - 有
b
s的一列 - 有大量的
a
,但是我可能需要避免所有我在 上开始的一切
通往d
的最短路径然后e
- 似乎有两条路径:一条从上方,一个从下方
- 绘制弯曲线使从下面的一条线变短,尤其是因为
e
s从d
s的底部开始
将螺旋绘制为z
我现在看到我必须穿越两组ijk
。
因此,路径将是这些字母:
a b c d e f g h i j k i j k l m n o p q r s t u v w x y z
我对自己的道路形状和使我经历的字母充满信心。
现在是困难的部分:
- 每组中每个字母的哪些特定实例将使我从
a
到z
,以最少的步骤
走螺旋
- 我把它很好,慢
- 我两次计算一切
值得庆幸的是,这是正确的答案!
第2部分
幸运的是,没有太多选择
- 当然,有很多
a
s - 但是,由于我需要移至
b
,所以我只能从左边缘沿a
挑选 - 并选择比第一部分中最初的
a
是愚蠢的 - 所以我的选择只是第1部分 中首发的
- 那是愚蠢
a
s
我是对的!
我做的!!
- 我解决了两个部分!
- 用我的眼睛而不是程序!
- 这使这个难题变得更加有趣!
我很高兴这个难题的网格足够小,可以使我接近。
我喜欢利用浏览器的Find
工具检查每个字母。