ABC348

ardririy
·

寝坊.カスすぎ 

A - Penalty Kick

(1..=n).into_iter().map(|x| if x % 3 == 0 { "x" } else { "o" }).collect_vec().join("")

B - Farthest Point

REが出たので諦めて先に行ったまま戻ってこれなくなった(unratedだったのもある).ルートを取る必要はなくて,差の2乗和で比較するとかなり楽.

REの原因は負数の入力をunsinedな値で受け取ったことに起因するOFと予想してる.気をつけよう.

C - Colorful Beans

色ごとに最小の値を持って,そのうち一番大きい色を答えればよいです.mapの扱いで時間をかけてしまい,反省.Rustのitertools筋トレやるべきかなぁ...

D - Medicines on Grid

大沼枠.ちゃんと問題を読み,注意書きまでちゃんと読んで「E増えるじゃなくてEになるのね,OK」と確認したにも関わらずE増える実装をしていた.

この問題は,「地点(R_i, C_i)」を頂点とし,「地点(R_i, C_i)で取得したエネルギーを用いて到達可能な薬の置き場所とゴール地点」に対して有向辺を貼ると,スタートからゴールまでにたどり着く事が可能であるかという判定問題に帰着することが可能.これはBFSなりDFSなりで達成できる.