题解:CF44H Phone Number

· · 题解

CF44H Phone Number

管理员大大辛苦了!求求过一下/kel

题意

一个电话号码 a_1,a_2,\cdots,a_n,根据规则生成一个不与 a 完全相同的号码 b_1,b_2,\cdots,b_n

生成规则:第一个数字从 0\sim 9 中任选一个,当 i>1 时,b_i\gets \lfloor \frac{a_i+b_{i-1}}{2}\rfloorb_i\gets \lceil \frac{a_i+b_{i-1}}{2}\rceil,计算可以生成多少个新的号码。

思路

对于每个位置 i 和可能的数字 j,前一位数字 k 需要满足:

如果 k 不是数字就不累加,否则 RE。

特判

如果相邻数字差小于 1,说明 a 能生成自己,给答案减 1 即可。

代码

::::success[code] submission ::::