この質問は、制約された明確に定義されたグリッド内のストーリーに「近い」画像のレイアウトを容易にするコードまたはポインターに関するものです。
これらは基本と入力です。
- オブジェクト全体が新聞と呼ばれます。一連のストーリーがあります (テキストの長さが異なります)
- 各ストーリーには、関連付けられた画像がある場合とない場合があります。
- 新聞は自動的に 4 列にレイアウトされます。テキストは左上から右下、各列の下に流れます
- 画像は固定位置に配置できます - 左上、中央上部、右上、中央左、中央、中央右、左下、中央下、右下
- 画像を配置すると、1 ~ 3 列にまたがることができます。設定されたスパンに基づいて、プロポーションに合わせて高さが自動的に調整されます。
- 実際のレイアウト作業 (およびテキストの周りに流れる画像) はすべて完了しています - アルゴリズムに必要なのは意思決定のみです。
全体的な問題は、印刷された読書体験を興味深く美的に満足させるために、絵がそれらに関連付けられた物語の近くにあり、位置とスパンの興味深い変化を示すように、興味深い方法で固定レイアウトに物語を配置することです。 .
これは、アルゴリズムに必要な作業です。
- 写真付きの記事を新聞に掲載する場合、写真の少なくとも 1 つの端が、関連する記事に触れていなければなりません。
- 記事の順序を変更するかどうかを決定する必要があります。たとえば、最初の 4 ページにはたくさんの写真があり、新聞の残りの部分はテキストだけです。
- ストーリーを並べ替えてシャッフルすることを選択した場合、この配置の問題を解決するための最適なアプローチは何ですか?
一般に、これがビンパッキングの問題に該当するかどうかはわかりません。つまり、空白を最小限に抑えるためにストーリーを並べ替えることができるという意味です。ストーリーの「近く」に画像を配置する必要があるためです。
この問題に対処する方法へのポインタ、または同様のクラスの問題を容易にするコードは高く評価されます。