P0526

[HAOI2010]计数

[HAOI2010]计数

你有一组非零数字(不一定唯一),你可以在其中插入任意个 00,这样就可以产生无限个数。比如给定 {1,2}\{1,2\},那么可以生成数字 1212、2121、102102、120120、201201、210210、10021002、10201020 等等。

现在给定一个数,问在这个数之前有多少个数。注意这个数不会有前导 00。

输入格式

只有 11 行,为 11 个整数 nn。

输出格式

只有一个整数,表示 nn 之前出现的数的个数。

样例输入

1020

样例输出

7

样例解释

n=1020n=1020 中的非零数字为 11 和 22,把由它们插入任意个 00 得到的数从小到大排列,开头几项为

12, 21, 102, 120, 201, 210, 1002, 1020, …12,\ 21,\ 102,\ 120,\ 201,\ 210,\ 1002,\ 1020,\ \dots

排在 10201020 之前的共有 77 个数。

数据范围

  • nn 的长度不超过 5050;
  • 答案不超过 263−12^{63}-1。

来源与许可

本题为 HAOI 2010 试题「计数」,题面与测试数据整理自 BZOJ 2425。

样例 1

输入

1020

输出

7