#arc0194. [arc019_4]ほんとうのたたかい

[arc019_4]ほんとうのたたかい

ついに魔王を倒し、世界に平和が訪れた!

しかしながら、私のたたかいはまだ終わっていない!月 11 回の高級おやつを巡って、妹との勝負が残っているのだ!

何を隠そう私の妹は競技プログラミングに長けていて、毎回私と競技プログラミングで戦っては勝利し、高級おやつは妹のものになってしまうのだ!

(まあ、私の家が競技プログラミングの家系で、高級おやつは競技プログラミングの出来具合で決まるというきまりになっているから、しょうがないね。)

毎回妹に負けてしまい、延々高級おやつにありつけず、年上としての威厳もズタズタである私は、密かに競技プログラミングのスキル上昇に精進していたのだ!その一環として先程のゲーム Ancient Royal Coders をプレイしていたのである!

そして今回も高級おやつを巡って妹と勝負をすることになっている。

今回の競技は以下の条件を満たす縦 NN 行、横 NN 列のマス目を作成し、提出することで勝負するらしい。

  • NN2N1502 ≦ N ≦ 150 を満たす整数でなければならない。

  • 各マスには 11 つの O が描かれているか、描かれていないかのいずれかである。

  • 縦横の辺がいずれも行または列に平行な、どの長方形を取り出しても、その長方形の 44 隅のいずれか 11 つは O が描かれていないマスである。言い換えると、1i<kN1 ≦ i < k ≦ N および 1j<lN1 ≦ j < l ≦ N をみたす任意の 44 つの整数 i,j,k,li,j,k,l において、以下の条件が成立することである。

  • ppqq 列にあるマスのことを (p,q)(p,q) と呼ぶことにしたとき、(i,j)(i,j),(i,l)(i,l),(k,j)(k,j),(k,l)(k,l) のうち少なくとも 11 つは O が描かれていないマスである。

このような条件を満たす縦 NN 行、横 NN 列のマス目のうち、より多く O が含まれるものを提出したほうが勝利である。

今月のおやつはあの伝説のプリンらしい。ここ数年、このプリンを口にしていない。因みにこの数年の起点が、妹が競技プログラミングを始めた日と合致していることは内緒である。

幸い、今回はプリンという分配可能なおやつなので、今回は双方の出来具合でプリンを分配するよう提案し、可決された。これは私が妹の分のおやつを取ったことで妹が悲しまないようにするためで、別にちょっとだけでも貰おうとかいう考えじゃないぞ!

何よりも今回は負けない自信がある。さあ、今こそ Ancient Royal Coders で鍛えたプログラミングスキルを披露しようじゃないか!


入力

今回、入力は与えられない。

部分点

この問題には部分点が設定されている。

  • あなたが提出した出力に関して、出力が示すマス目に描かれている O の個数を SS としたとき、以下の基準で得点が与えられる。

  • 出力が条件を満たさないか、S294S ≦ 294 となる場合、残念ながらプリンは分けてもらえず、00 点である。

  • 出力が条件を満たし、295S399295 ≦ S ≦ 399 となる場合、プリンを微量分けてもらえる。このとき、55 点が得られる。

  • 出力が条件を満たし、400S899400 ≦ S ≦ 899 となる場合、プリンを 11 口分けてもらえる。このとき、1010 点が得られる。

  • 出力が条件を満たし、900S1299900 ≦ S ≦ 1299 となる場合、プリンを 11 口半分けてもらえる。このとき、2020