382.1

バカ発見セット。

250

チェスのナイトの動きを1ターンにK回まで行える駒があるとする。盤面上にそのような駒がいくつかあるので、一箇所に集めるのに必要な最小移動回数を答えよ、という問題。


それぞれの駒について、全部の位置に対して移動にかかるステップ数を求める。求め方は、通常のナイトの動きでBFSしてからKで補正する。後はそれらの合計を行って、一番合流コストの小さい点に移動させれば良い。

500

円周上に配置されている点のリストが与えられる。共通部分のない部分集合を二つ取り、回転させて一致するようにしたい。このとき部分集合に入る点の最大数を答えよ、という問題。


回転させる角度を全探索するだけ。K度刻みで連続している点に分割してやって、それらから交互に集合に入れていけば良い。

1000

偶数桁の整数について、前半の桁の合計値と後半の桁の合計値が等しいか、偶数桁の合計値と奇数桁の合計値が等しいものは何通りあるか答えよ、という問題。ただし使っていい整数には制限がある。


前者と後者の数は同じになるので、片方を計算して倍にしてやる。両方を同時に満たすものを引いてやれば良い。微妙に言語によるTLEと戦っていた気がする。