CF779B Weird Rounding

题目描述

Polycarp 非常喜欢“圆整数”。他尤其喜欢那些能被 $10^{k}$ 整除的数。 现在,给定一个整数 $n$,Polycarp 想要删除尽可能少的数字,使得最终得到一个能被 $10^{k}$ 整除的数。例如,如果 $k=3$,而 $n=30020$,只需删除一个数字(2),就能得到 3000,而 3000 可以被 $10^{3}=1000$ 整除。 请编写一个程序,输出从给定整数 $n$ 中删除的最小数字数目,使得结果能被 $10^{k}$ 整除。最终结果不能有多余的前导零(即,仅当结果为 0 时,可以用一个“0”表示)。 保证一定存在符合条件的解。

输入格式

输入包含一行,包含两个整数 $n$ 和 $k$,满足 $0 \leq n \leq 2000000000$,$1 \leq k \leq 9$。 保证一定存在符合条件的解。所有输入的整数均用常规整数形式表示,不带前导零。

输出格式

输出一个整数 $w$,表示要求删除的最小数字个数。删除适当 $w$ 个数字后得到的结果,必须能被 $10^{k}$ 整除。仅当结果为 $0$ 时,才允许以一个“0”表示。

说明/提示

例如,在样例 2 中,可以删除两个数字:1 和任意一个 0,剩下的结果是数字 0,而 0 能被任意整数整除。 由 ChatGPT 5 翻译