Sắp xếp xâu không ổn định
Đề bài
Mô tả
Có một xâu gồm chữ cái Latin thường mà ta cần khôi phục.
Cho hai hoán vị và của các chỉ số từ đến (hai hoán vị không nhất thiết giống nhau). Xâu cần khôi phục phải thoả mãn: với mọi từ đến ,
Nói cách khác, nếu ta viết các chữ cái của theo thứ tự chỉ số trong thì được một xâu không giảm; điều tương tự cũng đúng với thứ tự chỉ số trong .
Hãy khôi phục một xâu bất kỳ có độ dài , gồm các chữ cái Latin thường và chứa ít nhất chữ cái phân biệt, thoả mãn cả hai điều kiện trên. Nếu có nhiều đáp án, in ra đáp án nào cũng được.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : độ dài xâu và số chữ cái phân biệt tối thiểu cần có.
- Dòng thứ hai chứa số nguyên : hoán vị .
- Dòng thứ ba chứa số nguyên : hoán vị .
Dữ liệu ra
- Nếu không tồn tại xâu phù hợp, in ra một dòng chứa NO.
- Ngược lại, in ra YES ở dòng đầu, và xâu ở dòng thứ hai. Xâu gồm chữ cái Latin thường, chứa ít nhất chữ cái phân biệt và thoả mãn cả hai hoán vị. Nếu có nhiều đáp án, in ra đáp án bất kỳ.
Ràng buộc
- và đều là hoán vị của .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 1 2 3 1 3 2 |
YES abb |
Theo : a, b, b không giảm. Theo : = a, b, b không giảm. Xâu có 2 chữ cái phân biệt (a, b) . |
| 5 4 1 3 2 4 5 2 3 5 1 4 |
NO | Hai hoán vị buộc quá nhiều vị trí phải bằng nhau nên không thể tạo đủ 4 chữ cái phân biệt. |
| 6 5 5 6 1 2 3 4 6 5 1 2 3 4 |
YES bcdeaa |
Các vị trí 5 và 6 buộc bằng nhau (cùng đứng đầu ở cả hai thứ tự), các vị trí còn lại tách được, cho 5 chữ cái phân biệt. |
Bình luận