例から直接始めましょう:
ゲームでは、プレイヤーがアイテムを保管するために使用するバッグがあり(アイテムのサイズは可変です)、バッグのサイズも可変です。
8x15スロットのバッグに、2x2スロットを占めるアイテムを挿入する必要があります。スペースを検索して、このアイテムを保管するのに十分なスペースがあるかどうかを実際に確認できます。これは簡単ですが、十分なスペースがない場合はどうなりますか。リクエストされたアイテムを保管するスペースはありますか?これが本当の問題です。
新しいアイテムのためのスペースを解放するために、現在のバッグ内の現在のすべてのアイテムを実際に再配置する方法を見つけようとしています。
それを行うのに役立つアルゴリズムはありますか?
編集
ルール:
- バッグの中の現在のアイテムを削除することはできません。十分なスペースがない場合は、新しいアイテムを保管するためにそれらを再配置するだけです。