310.1

900とは思えないくらいひどい900だった...。実装系にしてもひどい...。

900

直方体の箱がN個(15個以下)与えられるので、それらを積むことを考える。積むときには上に乗せる直方体の底面が下にくる直方体の上面からはみ出さないようにしなくてはならず、また少なくとも一つの頂点が一致しないといけない。このとき積み上げられる最大の高さを求めよ、という問題。


上面の大きさは最後にどの箱をどの向きで積んだかで分かる。使った箱の状態は高々2^Nしかないので、2^N*N*3状態でDPするだけ。500よりも簡単だった...。