Tìm số tối thiểu
View as PDF
Submit solution
Points:
50.00
Time limit:
1.0s
Memory limit:
64M
Input:
stdin
Output:
stdout
Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, Sed, Text
Cho số nguyên dương ~S~ gồm ~n~ chữ số (không có chữ số 0 thừa ở tận cùng bên trái) và số nguyên ~k~. Hãy tìm cách thay thế tối đa ~k~ chữ số bất kỳ trong ~S~ để thu được số nhỏ nhất có ~n~ chữ số và số thu được cũng không có chữ số 0 thừa ở tận cùng bên trái.
Chú ý: Một số có chữ số 0 thừa ở tận cùng bên trái nếu nó có ít nhất hai chữ số và chữ số đầu tiên của nó là 0. Ví dụ: các số 00, 00069 và 0101 có các số có chữ số 0 thừa tận cùng bên trái; còn các số 0, 30000 và 1010 không có các số 0 ở tận cùng bên trái.
Đầu vào
- Dòng đầu chứa số nguyên ~T~ là số bộ dữ vào ~(1 \le T \le 100)~ tiếp theo là ~T~ bộ dữ liệu, mỗi bộ dữ liệu gồm hai dòng:
- Dòng thứ nhất chứa hai số nguyên ~n~ và ~k~ cách nhau một dấu cách ~(1 \le n \le 200000, 0 \le k \le n)~ với ý nghĩa như đã nêu trong đề bài.
- Dòng thứ hai chứa chuỗi ~S~ có ~n~ chữ số thập phân mô tả số nguyên (chuỗi ~S~ không chứa chữ số 0 ở tận cùng bên trái)
Đầu ra
- In ra số ~S~ gồm ~n~ chữ số sau khi đã thay thế không quá ~k~ chữ số như đã yêu cầu.
Ví dụ:
| INPUT | OUTPUT |
|---|---|
| 3 5 3 51528 3 2 102 1 1 1 |
10028 100 0 |
Loading...