递归实现排列型枚举
题号:NC50919
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

这 n个整数排成一行后随机打乱顺序,输出所有可能的次序。

输入描述:

一个整数n。

输出描述:

按照从小到大的顺序输出所有方案,每行1个。 首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。
示例1

输入

复制
3

输出

复制
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1