Nonographic Magnitude Optimizer™を構築する
ノノグラムは、次のように、隣接する領域のリストに従って白黒の絵を描くことが日本のパズルゲームです。 行または列の非グラフィックの大きさを、その行または列の連続する黒い領域の数に定義します。たとえば、その行には2つの正方形の領域が1つあるため、一番上の行の非グラフィックの大きさは1です。8行目には、2、2、1があるため、3の非グラフィックの大きさがあります。 空の行または列の非グラフィックの大きさは0です。 あなたの仕事は、ノノグラムのソリューショングリッドを取得し、すべての行と列が特定のソリューショングリッドと同じ非グラフィックマグナタイドを持つ、できるだけ少ない正方形でソリューショングリッドを生成するプログラムを作成することです。 たとえば、すべての正方形が塗りつぶされた非グラムグリッドは、すべての行または列で1の非グラフィックマグニチュードを持ちます。 グリッドに斜めのストライプを配置するだけで、同じ非グラフィックの大きさを実現でき、塗りつぶされた正方形の数を劇的に削減できます。 プログラムは、このファイルから50,000行で構成される入力を受け取ります(1.32 MB tar.gzテキストファイル; 2.15 MB解凍)。各行は、ランダムに(80%黒)塗りつぶされた正方形の単一の16×16ノノグラムソリューショングリッドを表し、さらに50,000行を出力します。各行には、対応する入力グリッドの最適化されたソリューショングリッドが含まれています。 各グリッドは、43文字のbase64文字列(左から右、次に上から下にエンコードする正方形)として表され、プログラムは同じ形式で出力を返す必要があります。たとえば、ファイルの最初のグリッドはE/lu/+7/f/3rp//f799xn/9//2mv//nvj/bt/yc9/40=であり、次のようにレンダリングされます。 グリッドはEにマップされる000100で始まるため、一番上の行の最初の6つのセルは、4番目を除いてすべて白です。次の文字がある/にマッピングします111111ため、次の6つのセルはすべて黒になります。 プログラムは、50,000個のテストケースのそれぞれについて、正確な非地理的規模でソリューショングリッドを実際に返す必要があります。より良いものが見つからない場合は、入力と同じグリッドを返すことができます。 最小の合計塗りつぶされた正方形(任意の言語)を返すプログラムが勝者であり、短いコードがタイブレイカーです。 現在のスコアボード: 3,637,260 — Sleafar、Java 7,270,894 — flawr、Matlab 10,239,288 —ジョーZ.、バッシュ