以下の内容はhttps://natsugiri.hatenablog.com/entry/2025/12/31/235916より取得しました。


Advent of Code 2025 の感想

Advent of Code 2025

入力データをダウンロードして内容を目視するのも問題の一部である。コードを書く前に確認したほうがいい。
adventofcode.com

毎年12月にプログラミングの問題が出題される。今年は12日間で、毎日Part1 と Part2の2問。合計24問。

Uiua 0.17.2 ですべて解いた。

コード

github.com

傾向

問題文からは入力データのサイズが不明なのでデータをダウンロードしてから推定する必要がある。それはいいのだが、入力データの特徴を見破って効率的なアルゴリズムを書く必要があることに気が付かなければならない。問題文が示す内容を解くための一般的な解法ではなく、データに特化したコードを書く。

特に Day9 は多角形の2頂点を選んで長方形を探す問題であるが、辺が接近しないデータになっているので効率的に解くことができる。気が付かなかったので時間がかかるコードになってしまった。

さらにDay12 は以下の6種類のピースの個数が指定されて長方形領域に入りきるかどうか判定する問題だが、自明な枝刈りとして

  • 3x3のピースが入りきるならば、明らかにピースが入る
  • ピースのマスの個数が長方形領域より大きいならば、明らかに入らない

これらが考えられる。その中間の、どちらでもない場合がとても難しいが、そのようなデータは入力データに含まれていないので高速に解くことができる。




以上の内容はhttps://natsugiri.hatenablog.com/entry/2025/12/31/235916より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14