ABC119

A - Still TBD

5-6文字目を取りだしてintに変換して4と比較するだけ

 

B - Digital Gifts

数値と文字列の複合入力のためやや面倒くさい。

しかも数値がintとfloatの2パターンある。

全部floatにしてもいいけど、先に通貨で場合分けして処理した。

 

C - Synthetic Kadomatsu

同じ長さのものがあれば除外して・・・と簡単にする方法を考えていたが

組み合わせをどう処理するかがわからず一旦放置。

D問題を解き終わった後でパターン数を計算したところ、4^8で65536通りしかないことがわかる。

ということで全探索。カウンターの数値を4^n回まわし、modをとりながらパターンを生成する。0-2がa,b,cにそれぞれ使う、3はどれにも使わないを示す。得られた答えが最小なら更新を繰り返す。

何本継いだかを見るために、a,b,cのそれぞれに使われた竹の本数も記録しておく。0のものがある場合は、答えの計算を行わない。

この方針でサンプルを回したところ、n=8でも十分に間に合いそうだったのでそのまま提出。結果AC。

 

D - Lazy Faith

ぱっと見てbisectを使うやつかなと判断

神社・寺をソートしたあと、bisect_leftで、どの神社(or寺)の間に入るかを割り出す。

その後、神社・寺をみつけるために左右のどちらにいくかで2x2の4パターンを計算し、最小のものを探していく。左右に該当する施設が存在しない場合は十分に大きな値を設定して除外されるようにする。

 

この方針で間に合ってAC。

 

久しぶりに完解1600。

からの水色昇格!落ちないようにじゃなくて、青になれるように頑張っていこう。