你的好朋友 Marta 最近得到了梦寐以求的工作,在当地一家历史博物馆的藏品部门工作。 他们知道你热爱编程,便向你倾诉了工作中遇到的一个难题:博物馆即将举办一场关于计算机历史的展览。 当地一所大学的数学系捐赠了几箱历史打印资料,但考虑到这些文件保存状况很差,大家决定把上面的文本数字化。 不过,那所大学的旧打印机在表示文本的方式上有一些古怪之处,你的朋友需要你的帮助才能顺利提取出数据。
光学字符识别(OCR)是一种把文本图像转换成机器可读文本的软件。
给定一个由字符组成的网格,表示若干个数字,请把这个网格转换成由数字组成的字符串。
如果网格包含多行单元格,输出中的各行之间应该用","分隔。
"|")、下划线("_")和空格(" ")绘制。"?"。下面的输入(不含注释)会被转换成"1234567890"。
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # Decimal numbers.
||_ _| | _||_| ||_| _||_| #
# The fourth line is always blank,
下面的输入会被转换成"123,456,789"。
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
网格用一个以空字符结尾的字符串表示,每一行的末尾都有一个换行符。
| Register | Usage | Type | Description |
|---|---|---|---|
$a0 |
input | address | null-terminated input string |
$a1 |
input/output | address | null-terminated result string, empty if grid dimensions invalid |
$v0 |
output | integer | grid status (0 = ok, -1 = invalid columns, -2 = invalid rows) |
$t0-9 |
temporary | any | for temporary storage |
| 寄存器 | 用途 | 类型 | 说明 |
|---|---|---|---|
$a0 |
输入 | 地址 | 以空字符结尾的输入字符串 |
$a1 |
输入/输出 | 地址 | 以空字符结尾的结果字符串,如果网格尺寸无效则为空 |
$v0 |
输出 | 整数 | 网格状态(0 = ok,-1 = invalid columns,-2 = invalid rows) |
$t0-9 |
临时 | 任意 | 用于临时存储 |