Liệt kê các hoán vị
Point: 100.0
Time limit: 1.5s
Memory limit: 98 M
Input:
stdin
Output:
stdout
Author:
Problem type
A - Nhập môn: 07 - Xâu ký tự
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text
Cho tập hợp A gồm \(n\) phần tử \((n \ge 1)\). Mỗi kết quả của sự sắp xếp thứ tự \(n\) phần tử của tập hợp A được gọi là một hoán vị của \(n\) phần tử đó. Ví dụ, với tập hợp gồm các số \(A = (1,2,3,4,5,6)\), mỗi cách sắp thứ tự sẽ tạo thành một dãy các số không lặp lại như sau: \((1, 2, 3, 4, 5, 6)\) hoặc \((3, 4, 6, 1, 2, 5)\) hay \((2, 1, 4, 6, 5, 3)\). Các cách sắp xếp như vậy được gọi là một hoán vị của A.
Yêu cầu:
Hãy liệt kê ra các hoán vị của \(A = {1,2,...,n}\) theo thứ tự từ điển tăng dần.
Input Specification
- Gồm 1 dòng là số nguyên \(n\) \((0<n \le 9)\).
Output Specification
- Tất cả các hoán vị của A theo thứ tự từ điển, mỗi dãy trên một dòng.
Sample Input
3
Sample Output
123
132
213
231
312
321