#P15644. [ICPC 2022 Tehran R] Laboratory Report
[ICPC 2022 Tehran R] Laboratory Report
说明
你被指派为一个医学实验室编写软件。该软件的一部分是关于生成已进行的医学检验报告。一项医学检验包括对从患者身上采集的样本(如血液或尿液)进行一系列测量。每次测量都有一个名称、一个单位和一个结果(数值)。例如,血液样本中的“胆固醇”可能是 mg/dl。此外,每次测量都附有一个参考表。参考表是一套通用的规则集,根据患者的测量结果为其分类一个(状态)标志。例如,如果“甘油三酯”的结果在范围 内,则被分类为“正常”;如果结果低于或高于此范围,则分别标记为“低”或“高”。
给定所有测量的参考表和几位患者的结果,你需要生成他们的医学检验报告。
输入格式
本问题输入规范中的文本是一个非空的、由任意可打印 ASCII 字符组成的字符串,包括空格、标点和字母数字字符,但不包括换行符。保证文本不以空白字符开头或结尾。此外,输入中的所有实数均为十进制格式,最多 个字符,其绝对值不超过 。
输入由多个(至少 个,至多 个)部分组成。每个部分以单独一行包含 个连续的“”字符结束。
参考表在第一部分中描述。至少有 个,至多有 个参考表,相邻两个表的行之间由单独一行包含 个连续的“”字符分隔。参考表的第一行包含测量名称,这是一个长度最多为 的文本,在所有参考表中是唯一的。第二行包含一个长度最多为 的文本作为测量单位。参考表的其余部分描述其标志分类规则,它要么是单独一行,要么是一组成对的行。在前一种情况下,该单独一行指定了将结果分类为 Normal 的标准。在这种情况下,如果测量结果不符合此标准,则被分类为 Abnormal。在后一种情况下,参考表的其余部分以一组非空的(最多 个)成对行的形式出现,分类规则更为复杂。在这种情况下,每对的第一行指定分类标准,第二行包含一个长度最多为 的文本作为标志名称,前面有两个空格字符。在上述任何情况下,分类标准都是一个长度最多为 的文本,采用以下形式之一( 和 是实数, 是测量结果):
| 标准格式 | 含义 |
|---|---|
| 或 | |
在指定分类标准的文本中,不同部分之间可能有任意数量的空格。因此,例如,、 和 都是有效且等价的文本。当参考表的标志分类规则用一组成对的行描述时,保证测量值空间被给定的分类标准集合正确划分;即,每个可能的测量结果恰好匹配所提供的分类标准之一。
输入中的后续部分指定了患者的测量结果。每个部分的第一行包含一个长度最多为 的文本作为患者姓名。接下来的每一行描述该患者的一个测量结果,其中测量名称和值(一个实数)之间由任意数量( 到 之间)的空格字符分隔。单个患者至少有 个,至多有 个测量结果。每个测量名称在一位患者的测量结果中最多出现一次。
输出格式
对于输入中除第一部分(描述参考表的部分)之外的每个部分,你应编写其对应患者的实验室检验报告,后跟单独一行包含 个连续的“”字符。一份报告由包含患者姓名的一行和一个描述测试结果的表格组成。表格格式在样例输出中有示例说明。如果相应输入部分中有 次测量,则该表格应有 行,每行长度恰好为 。所有空白区域应用空格字符填充。该表格有 列:
Test:测量名称;从行首(第 个字符)开始。Result:测量结果值,按照输入中的确切格式打印;从该行的第 个字符开始。Unit:测量单位;从该行的第 个字符开始。Flag:根据测量结果和参考表分类的标志;从该行的第 个字符开始。如果标志是Normal,则该单元格内不应写入任何内容(除了空格字符)。
输出表格中的测量行应按其在相应输入部分中出现的相同顺序打印。除了测量行之外,表格还应有一个标题行和三条分隔线(包含 个连续的“”字符),如样例输出所示。
注意:本题的解决方案评判非常严格。为了使你的输出被视为正确,其所有字符,包括空白字符或大小写字母,都必须与预期输出完全匹配。
Cholesterol
mg/dl
130~200
---------------------------------------------------------------------------
HDL-chol
mg/dl
>= 55
---------------------------------------------------------------------------
Fast Blood Sugar
mg/dl
<70
Hypoglycemia
70 ~ 99
Normal
(99, 126)
Impaired (Prediabetic)
>= 126
Diabetic
---------------------------------------------------------------------------
Secret Poison
mg/L
< 0.1
Noneffective
0.1 ~0.5
Mild
( 0.5 , 1.5 ]
Moderate
(1.5,5)
Severe
[5, 10]
Lethal (non-instant)
> 10
Instant Killer
================================================================================
Mr. Fat
Fast Blood Sugar 130
Cholesterol 230
HDL-chol 55
================================================================================
413%3! 4n@+01!3\/!(# /\/@\/@1n`/
Secret Poison 3.8
Cholesterol 150
================================================================================
Y@1d@ 49#@|=@21!
Fast Blood Sugar 90
Secret Poison 7.9
================================================================================
Mr. Fat
---------------------------------------------------------------------------
Test Result Unit Flag
---------------------------------------------------------------------------
Fast Blood Sugar 130 mg/dl Diabetic
Cholesterol 230 mg/dl Abnormal
HDL-chol 55 mg/dl
---------------------------------------------------------------------------
================================================================================
413%3! 4n@+01!3\/!(# /\/@\/@1n`/
---------------------------------------------------------------------------
Test Result Unit Flag
---------------------------------------------------------------------------
Secret Poison 3.8 mg/L Severe
Cholesterol 150 mg/dl
---------------------------------------------------------------------------
================================================================================
Y@1d@ 49#@|=@21!
---------------------------------------------------------------------------
Test Result Unit Flag
---------------------------------------------------------------------------
Fast Blood Sugar 90 mg/dl
Secret Poison 7.9 mg/L Lethal (non-instant)
---------------------------------------------------------------------------
================================================================================
京公网安备 11011102002149号