164.1

300

ユーザの本名が与えられるので、規則に従ってユーザアカウントに使用する名前を答えよという問題。ただし既に使われているユーザアカウントが与えられるので、それにないもので最初にマッチしたものを答える。ユーザの本名として不適切な場合はダメ。


ユーザの本名に許されている文字以外があったら即座に例外処理。適切な長さの名前でない場合も例外しょり。後は規則に従ってユーザアカウントを発行するだけ。300点にする理由はどこにもなさそう。

500

ユーザ情報のリストが与えられるので、そのリストがどういう条件でソートされているかを答えよという問題。ユーザの情報は、名前、年齢、体重からなる。


全6通りでソートしてみて、一致するものを答えれば良い、という問題。面倒なだけ。

1050

砂漠でオアシスに向かって移動する。8方向に進むことができ、1日1マス進む。ただし風向きが悪いと1マスに3日かかる。風向きが最悪の場合にかかる日数を答えよ、という問題。当然ながら進めないマスもある。


盤面の大きさが50x50という微妙なサイズまでなので、4乗まではどうにでもなりそうな問題。隣接するマスのうち、オアシスまでの日数が一番小さいマスに進む時にだけ風向きが悪いと仮定すると、そこへ進む時にかかる日数に+2すればいい。その上で最小日数マスに進む(+1)というのがそのマスにいる時にかかる日数。ということを繰り返してスタート位置の日数を求めれば良い。


ナイーブに実装したもののTLEする様子はない。+2をしないといけないのに+3にしたせいで通らなかったりもしたけれど、それ以外は順当に...。