题目翻译
有一个充满函数和数据的单元格,类似于 Excel 表格,输出这个单元格中函数的计算结果。
单元格的坐标用列(A⋯J)和行(1⋯10)来标示。例如:第 3 行 6 列的单元格将被标记为地址 F3。
所有的单元格条目都将是整数。
所有的函数名称和单元格的引用都不区分大小写。
任何不遵守正确语法的函数都应在其单元格中输出 #SYN#。
程序需要处理的函数如下:
Average(Range) 计算 Range 范围中的非空单元格的平均值。将结果截断。
Large(Range, k) 计算指定 Range 中非空白单元格的第 k 个最大值。其中,k 可以是一个单元格地址。
例如:Large(2,2,5,5,5,8,8,3)=2。(这里的 2,2,5,5,5,8,8 是 Range 所代表的范围内的单元格,k=3)
如果不可能实现该操作,输出 #ERR#。
例如:Large(2,2,5,5,5,8,8,4)=#ERR#。(找不到第 4 个最大值)
CountIF(Range, condition) 计算满足 condition 条件的单元格的数量。其中,条件一定是 > n,< n, >= n, <= n,= n 中的任意一个。
n 代表任何整数(包括 0 在内)。正数可以有一个前导 +,而用 B 表示的空单元格不是。
例如:CountIF(A4, B1:B5, ">0")
Median(Range) 查找 Range 范围中所有单元格的中位数。
中位数指如果 Range 范围中单元格的数字是有序的,那么中位数就是序列中间的数字。
如果 Range 包含奇数个单元格,中位数是中间两个单元格的平均值。
如果 Range 包含偶数个单元格,则将结果截断
Mode(Range) 查找指定 Range中的单元格的模式
模式指 Range 范围内出现最多的值。如果出现次数出现相同的,则使用在列表中出现的第一个出现的数。
Range 范围的矩形部分按行列输入,从左到右。
SumIf(Evaluation Range, condition, Sum Range) 对某些单元格求和。
Sum Range 中的相应单元格应被包括在Sum Range 中。
如果 Evaluation Range 范围内的一个单元格符合 condition 条件,该单元格也会被求和。
如果 Evaluation Range 的单元格和 Sum Range 的单元格之间没有一一对应关系,输出 #ERR#。
同上,Range 范围的矩形部分按行列输入,从左到右。
Evaluation Range 中的空白单元格也要计算,为达到所需一一对应关系的目的,对于空白单元格,所判断的 condition 条件应为假。
一个范围可以是 <单元格地址> 或 <单元格地址:单元格地址>,任何整数,或由逗号分隔的这些组合。
例如 C5,或 A3:B4(A3,B3,A4,B4),整数 55,或组合 D2,55,A3:B4,J3 都是合法的。
函数的括号内可能有空格;单元格地址中的列和行之间不会有空格。
输入格式
本题有多组测试数据
一行以 R 开头的输入表示某一行单元格的数据。
R 后的整数代表输入的是第几行的数据。
任何空单元格 B 都应该被空格填上。输入中没有提及的行为空行。
对于单元格数据这类的输入,每行输入一定给出这一行全部的数据,以空格隔开。
一行的条目可能会超过一行。
数据保证函数没有循环引用。但是,一个单元格的函数可使用另一个单元格的结果作为输入。
如果在函数的输入单元格中出现 #ERR# 或 #SYN# 或 #INP#,该函数应输出 #INP#。
#INP# 是优先级最高的错误。
输入数据之间用空行分隔。
输出格式
对于每个测试数据,输出格式应该与样例输出完全一样。
所有的单元格的都应该为 5。
任何没有数据的单元格都应该输出为 5 个空格。
输出中不应该有多余的空格,不同测试数据之间也不应该有空行。