模板
int f[N][N] //第一位一般为数的位数.第二位根据情况赋予定义.
//十进制一般为最大位是x时满足条件的个数,
//二进制一般为有多少0或1时满足条件的数量
void init() // 根据题意做预处理。
{
// 对第一位初始化
// DP过程
}
int dp(int n)
{
if(!n) return 1;
vector<int> num;
// 取出每一位数字,可以根据进制转化问题替换 10
while(n) num.push_back(n % 10), n /= 10;
n = num.size();
int ans = 0, last = 0;
for(int i = n - 1; i >= 0; i