Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Liệt kê chỉnh hợp không lặp

Dễ Đệ quy quay lui Đệ quy

  • 100 Điểm
  • 100% Tỉ lệ AC
  • 1 Số AC
  • 500M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Cho một tập hợp \(A\) gồm \(n\) số nguyên đôi một khác nhau. Một chỉnh hợp không lặp chập \(k\) là một dãy gồm \(k\) phần tử khác nhau lấy từ \(A\), trong đó thứ tự các phần tử có ý nghĩa (dãy \((1, 4)\) và \((4, 1)\) là hai chỉnh hợp khác nhau).

Hãy liệt kê toàn bộ các chỉnh hợp không lặp chập \(k\) của \(A\) và đếm xem có bao nhiêu chỉnh hợp.

Input

  • Dòng đầu chứa hai số nguyên \(k\) và \(n\).
  • Dòng thứ hai chứa \(n\) số nguyên phân biệt là các phần tử của \(A\), mỗi số có giá trị tuyệt đối không quá \(5 \cdot 10^9\).

Output

  • In mỗi chỉnh hợp trên một dòng (các phần tử cách nhau một dấu cách). Các chỉnh hợp được in theo thứ tự từ điển tăng dần (so sánh theo giá trị số).
  • Dòng cuối cùng in số lượng chỉnh hợp đã liệt kê.

Constraints

  • \(1 \le k \le n \le 8\)
  • Các phần tử của \(A\) đôi một khác nhau, \(|A_i| \le 5 \cdot 10^9\)

Sample Input

2 3
8 -2 5

Sample Output

-2 5
-2 8
5 -2
5 8
8 -2
8 5
6

Bình luận

Chưa có bình luận nào.