この画像は、7つの異なる色の長方形を重ねて作成したものです。
黒と栗色の長方形は遮られていません。つまり、他の長方形はそれらの上にありません。
このような画像を取り込むプログラムを作成し、遮られていない長方形を1つ削除して、結果の画像を出力します。
例
上記のイメージでプログラムを実行し、出力でプログラムを再実行し続けると、次のように進行する可能性があります。
実行1-黒を削除(あずき色だった可能性があります):
実行2-マルーンの削除(選択のみ):
実行3-黄色の削除(選択のみ):
実行4-青の削除(緑だった可能性があります):
実行5-緑の削除(選択のみ):
実行6-ブラウンの削除(選択のみ):
実行7-赤の削除(選択のみ):
追加の実行で同じ白い画像が生成されます。
Stack Exchangeがこれらの画像を損失なく圧縮しないことを願っています。
画像の背景は常に白になり、各長方形は白ではない一意のRGBカラーになります。
画像は常に重複する長方形のセットとして解釈できると想定できます。具体的には、特定の色について、その色が画像の上部に最も近いピクセルがその色の長方形の上端の一部であると想定できます。同じことが下、左、右のエッジにも当てはまります。
たとえば、この画像では、オレンジ色の長方形が古い赤い上端を覆っているため、赤い長方形の上端は黄色の長方形の下端のすぐ下になります。
この画像では、最初に赤い長方形を削除することができます(黒/マルーン/オレンジ/グレーと共に):
下の長方形の順序があいまいな場合、任意の順序を付けることができます。
たとえば、ここの左の画像は中央または右になります。
出力には逆説的な重複があってはなりません(したがって、ペインターのアルゴリズムで作成することは可能です)。したがって、この画像(user23013に感謝)では、オレンジ色の長方形の下に緑色にする必要があります。
さらなる詳細
- 画像と長方形のサイズは任意です。
- 長方形は画像の境界線に接する場合があります。
- 最大256個の3-1の長方形がある場合があります。
- 入力が完全に白の場合、出力も同様になります。
- 画像ライブラリを使用できます。
- 入力は、画像ファイル名または生の画像データである必要があります。stdinまたはコマンドラインから取得できます。
- 出力は、同じ画像ファイルまたは別の画像ファイルに書き込むか、生のまま標準出力に出力するか、単に表示することができます。
- 一般的なロスレストゥルーカラー画像ファイル形式はすべて許可されます。
最少バイトの送信が勝ちです。