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...