Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 304 A問題 First Player

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

 N 人が時計回りに座っている.  i 番目の人の名前は  S_i で, 年齢は  A_i である.

 N 人は  1,2, \dots, N の順に並んでいる.

なお,  N 人の名前は全員異なり, 年齢も全員異なる.

年齢が最も小さい人から順に時計回りで  N 人出力せよ.

制約

  •  2 \leq N \leq 100
  •  S_i は英小文字からなる長さ  1 以上  10 以下の文字列.
  •  S_1, \dots, S_N は全て異なる.
  •  0 \leq A_i \leq 10^9
  •  A_1, \dots, A_N は全て異なる.

解法

次のようにすればよい.

  •  \alpha:=\min A を求める.
  •  A_j=\alpha を満たす  j を求める.
  • 以下を  N 回繰り返す.
    •  S_j を出力する.
    •  j 1 を加算する. その後,  j=N+1 ならば,  j \gets 1 とする.