Duyệt sinh các chỉnh hợp 2
Trạng thái
Theo định nghĩa toán học, chỉnh hợp chập \(k\) của \(n\) phần tử là một bộ sắp thứ tự gồm \(k\) phần tử khác nhau của tập hợp gồm \(n\) phần tử. Ví dụ cho \(X = (1,2,3)\) thì các chỉnh hợp chập \(2\) của \(X\) là \((1,2),(1,3),(2,1), (2,3), (3,1), (3,2)\).
Với bài tập này bạn hãy liệt kê các chỉnh chập \(k\) của \(n\) phần tử \(X = (a_1,a_2,...,a_n)\).
Dữ liệu vào Specification
- Dòng 1 gồm \(k\) và \(n (1 ≤ k ≤ n ≤ 10)\)
- Dòng 2 ghi \(n\) giá trị có giá trị tuyệt đối không vượt quá \(10^9\)
Dữ liệu ra Specification
- Mỗi dòng in một chỉnh hợp, các chỉnh hợp in theo thứ tự từ điển.
- Dòng cuối cùng in số lượng chỉnh hợp vừa in ra.
Sample Input
2 3
1 4 9
Sample Output
1 4
1 9
4 1
4 9
9 1
9 4
6
Thông tin
Thông tin bài tập
Điểm
100
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
98 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
Phương pháp: Duyệt hoán vị
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text