异星工厂:分拣流水线¶
预估时间限制:0.5 秒。内存限制:128 MB。
实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。
背景故事¶
一位工程师接下了异星工厂信号网络的订单。四个单元会输出整数、小数、大写字母和小写字母;分拣流水线需要把混在一起的信号分类、汇总,并转换字母的大小写。
形式化问题描述¶
字符串 \(S\) 由四类单元的输出依次连接而成:
- A 类:一个非负十进制整数,不含小数点。
- B 类:一个非负十进制小数,恰有一个小数点,小数点后至多两位,整个数至少有一位数字。允许
.1和0.这样的形式。 - C 类:一个大写英文字母。
- D 类:一个小写英文字母。
任意两个数之间至少有一个字母。因此,每个由数字和小数点组成的极长连续片段,恰好是一个数。数中不含正负号或科学记数法。
求 A 类整数之和、B 类小数之和,并分别收集 C 类与 D 类字母。C 类转为小写,D 类转为大写;同一类内保持出现顺序。
输入格式¶
输入一行字符串 \(S\) ,不含空格。允许空行。
输出格式¶
输出四行,依次为:
- 整数之和。
- 小数之和,恰好保留两位小数,小数点两侧都有数字。
- 转为小写后的 C 类字母串。
- 转为大写后的 D 类字母串。
没有相应的数时,其和为零;没有相应的字母时,仍输出对应的空行。
样例¶
样例 1¶
输入¶
0x3F666.
输出¶
3
666.00
f
X
样例 2¶
输入¶
66ccff3f3f3f3f
输出¶
78
0.00
CCFFFFFF
样例 3¶
输入¶
.01A.09b0.C999999.99
输出¶
0
1000000.09
ac
B
样例解释¶
样例 1 中,整数为 \(0,3\) ,小数为 \(666.\) ,两种字母分别是 F 和 x .
样例 2 没有小数和大写字母,第三行为空。样例 3 的小数之和为 \(1000000.09\) ;单个数的范围不会限制总和。
数据范围与保证¶
对 100% 的数据:\(0\le |S|\le10^5\) ;每个数的值都小于 \(10^6\) . 字符串满足上述生成规则;数可以有前导零。
| 分值比例 | 额外条件 |
|---|---|
| 100% | 无额外条件 |