3602 - 【LQ】旋转排列

题目描述

题目背景

我们称一个数列 p 是一个长度为 n 的排列,当且仅当 p 满足如下条件:

  1. p 的长度为 n;
  2. 1, 2, 3, ... n 这 n 个数在 p 中均恰好出现一次。

题目描述

对于一个排列 p,定义一次“shift”操作是指:将 p 里的每一个数字都依次向后移动一位,并把 p 的最后一个数字移动到开头去。

例如,若排列 p 初始时为 [1,4,2,3],则“shift”一次以后将变为 [3,1,4,2]。

现在,给定一个长度为 n 的排列 p,请你按照如下规定循环操作:

  1. 对当前的排列 p 做一次“shift”操作;
  2. 输出本次“shift”以后的排列 p;
  3. 判断排列 p 的最后一个数字是否是 n,如果是,则结束循环操作;否则回到 1 继续操作。

提示:请严格按照题目给出的顺序进行循环操作。

输入

第一行是一个整数,表示排列 p 的长度 n。 第二行有 n 个整数表示排列 p,第 i 个整数表示 pi。

输出

对于每次操作的第二条“输出”操作,请你输出一行 n 个整数,按顺序表示当前排列的每个数,一行中相邻两个数之间用一个空格隔开。

样例

输入

4
1 4 2 3

输出

3 1 4 2
2 3 1 4

输入

3
1 2 3

输出

3 1 2
2 3 1
1 2 3

输入

10
1 7 6 5 8 4 3 9 10 2

输出

2 1 7 6 5 8 4 3 9 10
标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 9
通过人数 7
金币数量 1 枚
难度 入门


上一题 下一题