AtCoder Beginner Contest 278 A問題 Shift
問題
提出解答
(解法 1) atcoder.jp
(解法 2) atcoder.jp
(解法 3) atcoder.jp
(解法 4) atcoder.jp
問題の概要
整数列 が与えられる. 次の操作を 回行った後に得られる整数列を求めよ.
- の先頭を削除し, の末尾に を加える.
制約
解法
1回の操作は次と同等である.
- の順に とする. その後, とする.
これは に関する for 文で実装できる. これを 回回す for 文で繰り返すことによって, 正解の整数列を求めることが出来る (解法 1).
なお, Python の場合, スライスとリストの連結を利用することによって, に対する1回の操作後の整数列は で表すことができる. これを 回 for 文で回せば良い (解法 2).
実は, for 文を回さなくても, の大小関係による場合分けによって, 次のように求めることが出来る (解法 3).
そして, 回目以降では操作前後ではその整数列は変わらない. よって, を に置き換えることによって, (解法 3) における場合分けをなくすことが出来る.