02/10/2018, 13:56

QBHV spoj – Hoán vị chữ cái

Nguồn đề bài: http://vn.spoj.com/problems/QBHV/ 1. Đề bài QBHV spoj Cho một xâu S chỉ gồm các chữ cái in hoa, 1 <= độ dài <= 9. Yêu cầu: 1: Có bao nhiêu cách hoán vị các chữ cái của xâu S 2: Liệt kê các hoán vị đó theo thứ tự từ điển Input Gồm 1 dòng duy nhất chứa ...

Nguồn đề bài: http://vn.spoj.com/problems/QBHV/

1. Đề bài QBHV spoj

Cho một xâu S chỉ gồm các chữ cái in hoa, 1 <= độ dài <= 9.

Yêu cầu:

1: Có bao nhiêu cách hoán vị các chữ cái của xâu S

2: Liệt kê các hoán vị đó theo thứ tự từ điển

Input

Gồm 1 dòng duy nhất chứa xâu S

Output

Dòng 1: Ghi số lượng hoán vị tìm được (K)

K dòng tiếp theo, mỗi dòng ghi một xâu hoán vị của xâu S theo đúng thứ tự từ điển

Example

2. Hướng dẫn QBHV spoj

– đầu tiên bạn sắp xếp xâu theo thứ tự chữ cái ABC…

– tính trước số hoán vị không lặp. phần này bạn có thể tham khảo bên toán

– sử dụng quay lui, vừa quay vừa xuất :)) trong quá trình quay lui bạn có thể đặt nhánh cận. so sánh với kết quả đã write trước đó. bạn có thể tham khảo code. ở dòng:

code tham khảo chưa thật sự tối ưu phần lưu trữ cũng như tính k, vì vậy bạn có thể cải tiến tốt hơn

Đã bổ sung code chuẩn bằng PP sinh (26/3/2015)

3. code tham khảo QBHV spoj pascal

a. Code tham khảo 1

b. Code tham khảo 2

Code bổ sung (26/4/15):