11的倍数判断条件为奇数位和和偶数位和的差为11的倍数。
我们枚举奇数位的情况,用三进制表示。
和为s,dp1[s]表示和为s的时候的个数,dp2[s]表示和为s的时候不允许前导零的个数。
相乘即可。
枚举s,if (45 * 2 - s -s ) % 11 == 0,那么 sum += dp1[s] * dp2[90-2s]
11的倍数判断条件为奇数位和和偶数位和的差为11的倍数。
我们枚举奇数位的情况,用三进制表示。
和为s,dp1[s]表示和为s的时候的个数,dp2[s]表示和为s的时候不允许前导零的个数。
相乘即可。
枚举s,if (45 * 2 - s -s ) % 11 == 0,那么 sum += dp1[s] * dp2[90-2s]