#P14893. [ICPC 2018 Yokohama R] Digits Are Not Just Characters
[ICPC 2018 Yokohama R] Digits Are Not Just Characters
Description
Manuel Majorana Minore 先生创建了许多文件名中包含数字的文件。他希望得到一个文件列表,但常用的文件列表命令会按照不同于他偏好的顺序列出文件,因为这些命令将文件名中的数字序列解释为 ASCII 码序列,而不是数字。例如,文件 file10、file20 和 file3 会按此顺序列出。
请编写一个程序,将数字序列解释为数值,从而决定文件名的顺序。
每个文件名由大写字母(从 ‘A’ 到 ‘Z’)、小写字母(从 ‘a’ 到 ‘z’)和数字(从 ‘0’ 到 ‘9’)组成。
文件名被视为一系列项,每一项要么是一个字母,要么是一个数字。每个单独的大写或小写字母构成一个字母项。每个连续的数字序列构成一个数字项。
两项之间的顺序如下确定。
- 数字项排在字母项之前。
- 两个字母项按照它们的 ASCII 码排序。
- 两个数字项按照它们解释为十进制数时的数值排序。
比较两个文件名时,从第一个项开始逐个比较,第一个不同的对应项的次序决定了文件名的次序。如果其中一个文件名(例如 )比另一个文件名 有更多的项,并且 的所有项都与 的对应项相同,那么 应排在前面。
例如,样例输入 1 中的三个文件名 file10、file20 和 file3 都以相同的四个字母项序列 f、i、l 和 e 开头,随后分别是数字项 、 和 。比较这些数字项的数值,它们的顺序为 file3 file10 file20。
Input Format
输入包含单个测试用例,格式如下。
$$\begin{aligned} & n \\ & s_0 \\ & s_1 \\ & \vdots \\ & s_n \end{aligned}$$第一行的整数 给出了需要与下一行()给出的文件名进行比较的文件名( 到 )的数量。其中, 满足 。
接下来的 行是文件名, 到 ,每行一个。文件名至少包含一个字符,最多包含九个字符。每个字符要么是大写字母、小写字母,要么是数字。
文件名中的数字序列永远不会以数字零()开头。
Output Format
对于每个文件名 到 ,输出一行包含一个字符,表示它是否应该排在 之前。如果它应排在 之前,则字符应为 “-”;否则,应为 “+”,包括两个文件名相同的情况。
2
file10
file20
file3
+
-
11
X52Y
X
X5
X52
X52Y
X52Y6
32
ABC
XYZ
x51y
X8Y
X222
-
-
-
+
+
-
-
+
+
-
+
京公网安备 11011102002149号