6.B3. CTDL> bài Biến thể mật khẩu
Biến thể mật khẩu
Trong một dự án về bảo mật, FullHouse Dev được giao nhiệm vụ phân tích và tối ưu hóa mật khẩu. Họ cần phải tìm cách điều chỉnh các mật khẩu hiện có để đáp ứng các yêu cầu bảo mật mới, đồng thời đảm bảo số lượng thay đổi là ít nhất có thể.
Bài toán
FullHouse Dev có một chuỗi mật khẩu \(S\) có độ dài \(n\) chỉ bao gồm các chữ số 0, 1 và 2. Mật khẩu cần tuân theo các yêu cầu sau:
- Mật khẩu \(S\) phải chứa đúng \(x\) ký tự "0"
- Mật khẩu \(S\) phải chứa đúng \(y\) ký tự "1"
- Tất cả các ký tự còn lại của mật khẩu \(S\) phải là "2"
INPUT FORMAT:
- Dòng đầu tiên chứa số nguyên \(T\) - số lượng test case
- Dòng đầu tiên của mỗi test case chứa số nguyên \(n\) - độ dài của mật khẩu
- Dòng thứ hai của mỗi test case chứa hai số nguyên \(x\) và \(y\)
- Dòng thứ ba của mỗi test case chứa một chuỗi \(S\) biểu diễn mật khẩu
OUTPUT FORMAT:
- Với mỗi test case, in ra số lượng thay đổi tối thiểu cần thực hiện
- Ở dòng tiếp theo, in ra mật khẩu đã được cập nhật (nếu có nhiều đáp án, in ra mật khẩu nhỏ nhất theo thứ tự từ điển)
Ràng buộc:
- \(1 \leq T \leq 100\)
- \(1 \leq n \leq 100\)
- Tổng của \(n\) trong tất cả các test case không vượt quá \(10^4\)
Ví dụ
INPUT
2
6 1 3
012022
5 5 0
02211
OUTPUT
2
011122
4
00000
Giải thích
- Ở test case đầu tiên, số lượng thay đổi tối thiểu là \(2\). Một số biến thể có thể của mật khẩu là "011122", "012112" và "111022". Tuy nhiên, mật khẩu nhỏ nhất theo thứ tự từ điển là "011122".
- Ở test case thứ hai, cần thực hiện \(4\) thay đổi. Biến thể duy nhất có thể của mật khẩu là "00000".
Comments