どのように質問すればよいかわかりませんが、できるだけ具体的にお答えください。さまざまな形の長方形だけが下に落ちているテトリス画面を想像してみてください。重なり合うことなく隣り合わせに収まる長方形の最大数を計算したいと思います。タイトルで線と名付けました。実際には、計算時の長方形の長さ、または x 軸に平行な線にのみ関心があるためです。
したがって、基本的には、開始と終了が両方とも 0 から 100 までの整数であるカスタム タイプがあります。1 から n の範囲のこれらの長方形のリストがあるとします。重ならないように、rectangle_n.start (原点に最も近い長方形でない限り) は >rectangle_(n-1).end でなければなりません。乱数を含むファイルから長方形の座標 (両方とも x 軸座標) を読み取っています。
例として、この長方形タイプのオブジェクトのリストを考えてみましょう
rectangle_list {start, end} = {{1,2}, {3,5}, {4,7} {9,12}}
3 番目のオブジェクトの開始座標は 4 < 前の四角形の終了座標である 5 であることがわかります。したがって、このリストをソートする際に、2 番目または 3 番目のオブジェクトが重ならないように削除する必要があります。
この種の問題にタイプがあるかどうかわからないので、他に名前を付ける方法がわかりませんでした。そのようなオブジェクトのリストに適用でき、それに応じてそれらを分類するアルゴリズムに興味があります。
私が書いているコードは c++ ですが、どの言語でもアルゴリズムを実行できるため、これに c++ のタグを付けました。