Mật khẩu an toàn là mật khẩu có độ dài ~n~, trong đó có ít nhất ~a~ ký tự hoa, ít nhất ~b~ ký tự thường, ít nhất ~c~ ký tự số và không có ~2~ ký tự liên tiếp giống nhau.
Biết quy tắc so sánh hai xâu ~X, Y~ theo thứ tự từ điển như sau:
- Hai xâu bằng nhau nếu giống nhau hoàn toàn.
- Xâu ~X~ lớn hơn xâu ~Y~ nếu ký tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu ~X~ có mã ASCII lớn hơn.
- Nếu ~X~ và ~Y~ là ~2~ xâu có độ dài khác nhau và xâu ~X~ là đoạn đầu của xâu ~Y~ thì xâu ~X~ nhỏ hơn xâu ~Y~.
Yêu cầu
Với ~4~ số ~n, a, b, c~ cho trước, hãy đưa ra mật khẩu an toàn nhỏ nhất và lớn nhất theo thứ tự từ điển.
Dữ liệu đầu vào
Gồm một dòng chứa ~4~ số nguyên ~n, a, b~ và ~c~ ~(a + b + c \le n, 1 \le n \le 100)~.
Dữ liệu đầu ra
Gồm hai dòng:
- Dòng đầu tiên ghi mật khẩu có thứ tự từ điển nhỏ nhất.
- Dòng thứ hai ghi mật khẩu có thứ tự từ điển lớn nhất.
Ví dụ
Ví dụ 1
INPUT
8 2 5 1
OUTPUT
0ABababa
zyzyzZY9
Sử dụng từ "ít nhất" trong đề bài dễ gây nhầm lẫn với ví dụ đưa ra phía trên. Cần lưu ý xét cả trường hợp ~n > a + b + c~, nếu thực sự là "ít nhất" thì ở chuỗi lớn nhất phải sử dụng càng nhiều kí tự thường càng tốt, chẳng hạn zyzyzyZY9 có thứ tự từ điển lớn nhất khi ~n = 9~, trong khi đó tôi vẫn đang sử dụng "ít nhất" ~5~ kí tự thường (cụ thể là ~6~).
Bình luận