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) における場合分けをなくすことが出来る.