SP3970 MCONVERT - Convert to Decimal Base System
题目描述
生活中的问题有时候简单得让人难以察觉,也有时候这些简单的问题会隐藏在复杂难题中。一旦你抓住这些简单的问题,就已经解决了一大半,同时也向赢得比赛迈出了重要的一步。不过,请注意这并不是最简单的问题!
你准备好接受这个挑战了吗?
你的任务是编写一个程序,把来自不同数值系统的数字转换成十进制(即基底为10)的数。
输入文件由多个数据集组成,各个数据集之间用一个或多个空行分隔。每个数据集的第一行给出了某种假设数值系统的数字排序。所有 ASCII 可打印字符(代码大于空格的字符)都可以用于表示数字,并且这些字符按其增长的十进制值排列(从0开始)。
从第二行开始,每行是一个用之前定义的字符编码的数字。这些数字在不同的假设数值系统中可能有多种十进制解释,你的任务是计算出所有可能解释的和。
例如,如果数字排序定义为“0123456789”,那么可能的基底是2到10,但数字“6201”只在基底为7到10的系统中有效。输入行可能在两端包含空格,应予以忽略。
你需要输出每个数据集中每个数字的一个十进制数,即所有合法数值系统基底的十进制总和。不同数据集的输出结果间应以一个空行分隔。
### 示例
```
示例输入:
0123456789
90763
1
.1>C
CC.
>.1
1....
```
```
示例输出:
90763
9
60
52
353
```
**注意:大数问题中,输出结果的每个数字不超过1000位。**
输入格式
输入文件由多个数据集组成,各个数据集之间用一个或多个空行分隔。每个数据集的第一行给出了某个假设数值系统中的数字顺序。从第二行开始,每行是一个用之前定义的字符编码的数字,可能两端有空格,应予以忽略。
输出格式
对于输入数据集中的每个数字,输出一个十进制数,代表所有合法数值系统基底的十进制表示之和。不同数据集的输出间用一个空行分隔。
说明/提示
- 每个输入数据中的数字最多有1000位。
- 输出结果的每个数字不超过1000位。
**本翻译由 AI 自动生成**