SRM489 Div2 500

問題

バラとユリが何本か入った箱が与えられる。箱iについて、バラの本数とユリの本数がわかる。
この箱をいくつか使って、R*Lのグリッドの各グリッドに花を植えるために使う。
ただし、各グリッドについて、隣接する4つのグリッドはそのグリッドに植えた花とは別の花を植えなければならない。

できるだけ正方形にしたいので、abs(R-L)が最小となるような植え方をした場合のabs(R-L)の値を答える。できない場合は-1を返す。

1<=箱の数<=16

考え方

箱の数が少ないので、使うか使わないかを全通り試す。

バラの数rとユリの数lがそれぞれわかるが、交互に植えなければいけないので、
r==lになるかabs(r-l)==1でなければいけない。
なので、そのような時に、(r+l)の約数を全部列挙し、RとLの候補を作り、abs(R-L)が最小となるものを探す。