れとろのメモ置場

とあるSEのメモ置場

AtCoder Beginner Contest208

AtCoder Beginner Contest208に参加しました。

結果

A,B,C問題の3問正解でパフォーマンスが614でした。 途中で急にPCがフリーズして焦った。
D問題は相変わらず解けそうで解けない… C問題までは問題をななめ読みして解きがちだから途中まで問題を少し勘違いして解いてて時間がかかった。

A - Rolling Dice

BがA以上6A以下かどうかを判断する。

B - Factorial Yen Coin

1!から10!までを計算して、大きい方から順番にPから引いていく。最終的には何回引けたかを答えればOK

C - Fair Candy Distribution

いろいろ解き方はあると思う。
全体に何回配れるか(K/N)と端数がどれくらいあるか(K mod N)を計算する。 次にa _ {i}を小さい順に並べた時(K mod N)番目の値が何かを確認して、 後はa _ {i}がその値より大きいかどうかでK/Nを出力するかK/N+1を出力するかを判断する。

D - Shortest Path Queries 2

時間が足らなかった…
グラフの問題なのでダイクストラ法をベースに問題用にところどころ修正して解こうとしたけど、ちょっとうまくできなかった。 解説を読むとワーシャル-フロイド法で解く問題だったらしい。ワーシャル-フロイド法はO(N^{3})ですごく遅いアルゴリズムって認識だったのでそもそも検討してなかったや。(サンプルのコード自体は用意してるのになあ)
制約見ると珍しく制限時間が3秒だったのメタ読みすれば思いつけたのか。