C - 入れ替え
Editorial
/
ここにカードが 6 枚あり、それぞれ 1 から 6 までの整数が書かれています。
最初、左から右へ 1 のカードから 6 のカードまでがソートされた状態で並んでいます。
高橋君には整数 N が与えられます。高橋君は以下の操作を i = 0,1,2, ... ,N-1 に対して i = 0 から 順番に行います。
入力は以下の形式で標準入力から与えられる。
操作が終わった後のカードの並びを左から順に 1 行で出力してください。
また、出力の末尾には改行を入れること。
Time Limit: 2 sec / Memory Limit: 64 MB
問題文
最初、左から右へ 1 のカードから 6 のカードまでがソートされた状態で並んでいます。
高橋君には整数 N が与えられます。高橋君は以下の操作を i = 0,1,2, ... ,N-1 に対して i = 0 から 順番に行います。
- 左から (i mod 5)+1 番目にあるカードと、左から (i mod 5)+2 番目にあるカードの位置を入れ替える。
ここで実際に N = 5 のときに行われる操作を例示します。
- i = 0 のとき: (0 mod 5)+1 = 1、(0 mod 5)+2 = 2 より、左から 1 番目のカード」と、「左から 2 番目のカード」を入れ替えます。
- i = 1 のとき:
- i = 2 のとき:
- i = 3 のとき:
- i = 4 のとき:
- よって、N=5 のとき、カードの並びは左から
234561
の順に並びます。
入力
N1 行目には、高橋君に与えられた整数 N(1≦N≦10^9) を与える。
- この問題には部分点が設定されている。後述する部分点の項も参照すること。
出力
また、出力の末尾には改行を入れること。
部分点
1≦N≦50 を満たすテストケース全てに正解すると、100 点満点のうち 30 点が与えられる。
入力例 1
1
出力例 1
213456
- 「左から 1 番目のカード」と、「左から 2 番目のカード」を入れ替えます。
入力例 2
5
出力例 2
234561
- 問題文中で示した例です。
入力例 3
22
出力例 3
615234
入力例 4
100000000
出力例 4
345612
- N>50 なので、部分点ではなく、満点解答のための入力になります。