Code Day の到来 倉庫の苦境

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-19 20:11:12910ブラウズ

Advent of Code  Day  Warehouse Woes

15 日目: 倉庫のトラブル

このパズルはそれほど難しくはありませんでした。気が付くと、たくさんの関数、たくさんの if ステートメントとループを作成しているだけでした。

今日は 2D グリッドのナビゲートに少し疲れてしまったので、投稿が遅くなりました (一日休まなければなりませんでした)。

私の解決策はいつものようにここで見つけることができます。

繰り返しますが、今日議論するほど重要なことは何もありません。主なコンセプトは次のとおりです:

a) 指示に従ってグリッドをループして移動し、どの方向に移動するかを決定します。

b) ボックスがどこにあったかを追跡し、次の移動が壁かボックスかを確認します。ボックスチェックだった場合は、ボックスを移動できるかどうかを確認します。

パート 2:

a) 同じロジックを適用しますが、パズルの指示に従って 2 つのボックスを同時に移動できるようにするパラメーターが異なります。

主な機能:

ボックスの検索: find_boxes 関数は、ボックスの左側と右側を表すボックスの半分のペア ([ と ]) を識別し、ボックス プッシュ ロジックで使用するためにそれらの関係をマップします。

第 2 倉庫でロボットを移動する
move_robot_in_second_warehouse 関数は、変更されたグリッドを処理できるようにロボット ロジックを拡張します。ボックス ([]) を押して十分なスペースを確保するために、より複雑な戦略が使用されます。ボックスの関係を追跡し、必要に応じてそれらをまとめて移動します。

パート 1 では、基本的なグリッドとロボット ロジックを使用して、ボックス (O) の位置に基づいて結果を計算します。一方、パート 2 では、高度な移動ルールを適用して変更されたグリッドを処理し、ボックス ([])

についても同様の結果を計算します。

それ以上のものではなく、たくさんの条件と動きを備えた 2D グリッド ナビゲーションだけです。プラスの面としては、構文や便利なライブラリ関数に関する Python の知識がさらに向上していると感じています。

いつものように、Twitter でお気軽にご連絡ください

以上がCode Day の到来 倉庫の苦境の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。