176.1

最初の2問しか解いていない気がする...。

250

じゃんけんであいこになるような手を、残り二つが与えられるから答えよ、という問題。ただし手の名前が4パターンあって、それぞれに対して答える。


同じならそのまま、違うならもう一個、というルーチン。両方と同じ手があればそれで、そうでなければ両方と違う手、というやり方が一番賢いんだなぁと他人のソースを読んで思った。

600

Permutationのうち、元の配列と同じ位置に同じ数字がないものの数を答えよ、という問題。


単純DPでやっているのはみんな同じかと思いきや、みんなしてどこに何を置くかをDPに入れているみたい。多分それが想定解なんだろうけれど、単純DPをやってから、重複する要素については個数の階乗で割ってやればいい。後者の場合、longから溢れないかという心配があるけれど、全部バラバラの時よりも多くはならないことは自明。

1150

N個の点が与えられて、それぞれについて等距離にある直線を考え、その直線で囲まれた領域をそれぞれの点の領域とするとき、領域の大きい順に点を並び変えよ、という問題。ただしある矩形の外側は領域とは認識しない。


まじめに領域を計算しましょうね、という問題だろうけれど、実装している時間ないなぁ...。本当はこういう時に幾何ライブラリを蓄積していかないといけない。