この課題は、別の同様の課題に基づいています。長方形の最も効率的なパッキングを見つけることはNP困難であるため(つまり、その解決策は簡単に確認できるが見つけにくい)、この課題はここでの課題よりもはるかに簡単です。
この挑戦
長方形の束が与えられた場合、それらが長方形のスペースをギャップやオーバーラップなしで埋めるかどうかを把握します。
入力
入力には2つの形式があり、1つはスコアリングペナルティを伴います。
1つ目は、長さが4のサブリストのリストです。このリストには、反対の頂点の座標である4つの整数が含まれています。すべての長方形は水平/垂直になるため、長方形がどこにあるかについてのあいまいさはありません。各サブリストには、最初の頂点のx座標、最初の頂点のy座標、2番目の頂点のx座標、2番目の頂点のy座標の順に、4つの整数が含まれます。
2番目:同じ長さの整数の4つのリストが含まれます。4つのリストは異なる座標を表します。入力オプション1を行列と考えると、ここでの入力は行列の転置にすぎません。この入力には、+20%バイトのペナルティがあります。
出力
単純な真実/偽の出力。
仕様書
エリア0(つまりx1 == x2 || y1 == y2)の長方形がある場合は、この長方形を無視してください(そのため[0 0 1 1], [2 2 3 2]有効です)。この仕様は、人々が最小/最大x / y値を簡単に取得することを困難にするために用意されています。
x1 <= x2y1 <= y2常に正しいとは限りません。の場合x1 > x2 || y1 > y2、長方形は面積ゼロの長方形ではありません。むしろ、それは間の長方形の空間を占有(x1, y1)して(x2, y2)。
座標は負の値でもかまいませんが、その場合でも座標間のスペースを占めます。
左上の長方形は常にとは限りません(0, 0)。したがって、塗りつぶされる長方形のスペースの左上隅がであるとは限りません(0, 0)。
(これらのあいまいさを指摘してくれた@xnorに感謝)
入力方法と出力の表現方法を指定してください。
得点
スコアは、バイト単位のコードのサイズに、該当する場合はバイトのペナルティを加えたものです。12月15日の時点での最低スコアが勝利します。
テストケース
0 0 1 2
1 0 3 1 ==> true
1 1 3 2
0 0 2 2
0 0 1 1 ==> false
0 0 0 0
0 0 1 1
2 2 2 2 ==> true
0 1 2 1
頑張って、楽しいゴルフを!
x1 <= x2とy1 <= y2?エリア0の長方形であるx1 == x2とy1 <= y2可能性は?
x1 > x2とy1 > y2座標が切り替えられているため、これは面積ゼロの長方形のですか?