AtCoder ABC168 参加記

5/17 に開催された AtCoder の ABC168 に参加したので参加記を書いていこうと思います。


非常にあったまりました。

f:id:granddaifuku:20200517233937p:plain

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 をしました。

提出したコード