🎅

Advent of Code 2024 Day 10: Hoof It

2024/12/29に公開

このページは

2024 年の Advent of Code の Day10 の記事です。 Day9 はこちら。

https://zenn.dev/yasuharu519/articles/f3bd94bbc6d16a

Day 10: Hoof It

今回のテーマはハイキングです。 以下のように、各セルの高さを与えられたマップが配られます。

0123
1234
8765
9876

0 が一番低く、9 が一番高いことを表しています。

Part1

Part1 では、ある 0 からいくつの 9 に辿れるかを考えます。
例えば、以下のようなマップだと、一つの 0 から二つの 9 に到達できることがわかります。

...0...
...1...
...2...
6543456
7.....7
8.....8
9.....9

いくつの 9 に到達できるかをカウントする必要があるため、複数の経路がある場合などは注意が必要そうです。

https://github.com/yasuharu519/advent-of-code-2024/blob/main/python/day10/part1.py#L12-L24

のように、到達した 9 の座標を set で管理して返すようにしました。

https://github.com/yasuharu519/advent-of-code-2024/blob/main/python/day10/part1.py

Part2

Part2 では、0 から 9 に至る経路をすべて数え上げるという問題です。

この場合は DFS で探索しながら数え上げる方法が使えそうです。

https://github.com/yasuharu519/advent-of-code-2024/blob/main/python/day10/part2.py#L11-L21

Day10 はだいぶシンプルな問題でしたね。

Day 11 に続きます。

https://zenn.dev/yasuharu519/articles/6d3f5c09a55a8a

Discussion