AtCoder ABC168 参加記
5/17 に開催された AtCoder の ABC168 に参加したので参加記を書いていこうと思います。
非常にあったまりました。
E からの壁が高かったという印象です。
A, B, C, D の 4 完でした。
A 問題
問題概要
- 999 以下の正整数 N が与えられる
- 1 の位の値によって出力を変える
解答
文字列型で N を受け取って末尾の値によって出力を変えます。
B 問題
問題概要
- 文字列 S と 1 以上 100 以下の整数 K が与えられる
- S の長さが K 以下なら S を出力
- それ以外なら S の先頭から K 文字を出力
解答
問題文の指定通りに実装します。
C 問題
問題概要
- 時針と分針の長さ A、B、時刻 H 時 M 分が与えられる
- H 時 M 分の際の時針と分針の端点(共通ではない方)の距離を求める
解答
時針は 1 分間に 0.5 度、分針は 1 分間に 6 度進む。
1 分で 5.5 度角度の差が縮まる。
H 時 M 分の時の角度の差(小さい方)を求めて、余弦定理で求める。
D 問題
問題概要
- 頂点 N 個、辺 M 個のグラフを考える
- 全頂点間は行き来可能
- 各頂点の向きを決定する
- 各頂点がその向き通りに進んだ際に頂点 1 への移動回数が最短となるグラフを構築する
解答
最短距離ということで頂点 1 から BFS をしました。