AtCoder Beginner Contest 223 E 問題 Placing Rectangles
問題
提出解答
問題の概要
次を満たすように長方形 を座標平面 に配置できるか?
- の各辺は 軸または 軸に平行である.
- の頂点は格子点で, 領域 内 (境界含む) の点である.
- の面積は 以上, の面積は 以上, の面積は 以上
- どの2つの長方形を選んでも, その共通部分の面積は である.
制約
解法
簡略化した問題を考える.
まず, 問題を簡略化して, 2つの長方形 の場合を考える. この場合, 配置可能ならば, 1つの長方形のある辺を延長することによって, 領域をある直線で分割して, 各領域を長方形 と見なすことにより, 配置可能な例を示せた.
このことから, 本の直線 で分断したときの長方形 の面積を比較し, 条件を満たすような直線が存在するか判定すれば良い.
ただし, 実際には全探索ではなく, については各軸に平行な直線のうち, 条件を満たすギリギリの直線のみを見れば十分である. つまり, 2直線 のみをみれば十分である.
本問題を考える.
では, 今回の問題である, 3個の場合を考える. 2個の場合と同様に考えると, 条件を満たすならば, 以下のうちのどれかで領域を分割した後, 各領域を長方形と見なすことにより, 条件を満たすような例を作れる.
- 領域内の格子点 を中心とし, 軸, 軸 に平行な2つの直線と半直線でT字型で分割する.
- 軸に平行な2つの直線
- 軸に平行な2つの直線
よって, 領域の分割の方法および, 長方形 の割当を全て調べることによって, で判定できる.