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 自动生成**