1 条题解
-
5wdvxdr LV 8 MOD @ 2017-11-06 18:56:33
我们可以发现,如果我们把一个数\(x\)加上1,其各个位的和\(Ans\)也会加1。
如果我们把这个数\(x \times 10\),其答案\(Ans\)则会不变。我们可以这样做
从0开始,对于每个数\(x\),向\(x+1\)连一条边权为1的边,向\(x \times 10\)连一条边权为0的边。
如果\(x+1\)或\(x \times 10\)超过了\(K\),则对\(K\)取模。
这样做我们可以得到答案就是1 + (点1 到 点0的最短路)
为什么是这样?如果我们从0出发,经过若干个\(+1\)和\( \times 10\)这两种操作后又回到了0,那么说明这些操作后产生的这个数一定是\(K\)的倍数,这个数的各个位上数字的和一定是这条路径的长度。
问:那为什么用1到0的最短路\(+1\)呢,为什么不用0的呢?
答:因为0到0的最短路永远是0。。。
- 1
信息
- 难度
- 8
- 分类
- (无)
- 标签
- (无)
- 递交数
- 18
- 已通过
- 5
- 通过率
- 28%
- 上传者