中文翻译
查看原帖
中文翻译
334586
159号程序员楼主2022/2/13 21:15

题目翻译

有一个充满函数和数据的单元格,类似于 Excel 表格,输出这个单元格中函数的计算结果。

单元格的坐标用列(AJ\text{A} \cdots \text{J})和行(1101\cdots 10)来标示。例如:第 3366 列的单元格将被标记为地址 F3\text{F3}

所有的单元格条目都将是整数。

所有的函数名称和单元格的引用都不区分大小写。

任何不遵守正确语法的函数都应在其单元格中输出 #SYN#

程序需要处理的函数如下:

  • Average(Range)\texttt{Average}\,\text{(Range)} 计算 Range\text{Range} 范围中的非空单元格的平均值。将结果截断。

  • Large(Range, k)\texttt{Large}\text{(Range, k)} 计算指定 Range\text{Range} 中非空白单元格的第 k\text{k} 个最大值。其中,k\text{k} 可以是一个单元格地址。

    例如:Large(2,2,5,5,5,8,8,3)=2\text{Large(}2,2,5,5,5,8,8,3\text{)}=2。(这里的 2,2,5,5,5,8,82,2,5,5,5,8,8Range\text{Range} 所代表的范围内的单元格,k=3\text{k} = 3

    如果不可能实现该操作,输出 #ERR#

    例如:Large(2,2,5,5,5,8,8,4)=#ERR#\text{Large(}2,2,5,5,5,8,8,4\text{)}=\text{\#ERR\#}。(找不到第 44 个最大值)

  • CountIF(Range, condition)\texttt{CountIF}\text{(Range, condition)} 计算满足 condition\text{condition} 条件的单元格的数量。其中,条件一定是 > n,< n, >= n, <= n,= n\text{> n,< n, >= n, <= n,= n} 中的任意一个。

    nn 代表任何整数(包括 00 在内)。正数可以有一个前导 +,而用 B 表示的空单元格不是。

    例如:CountIF(A4, B1:B5, ">0")\text{CountIF(A4, B1:B5, ">0")}

  • Median(Range)\texttt{Median}\text{(Range)} 查找 Range\text{Range} 范围中所有单元格的中位数。

    中位数指如果 Range\text{Range} 范围中单元格的数字是有序的,那么中位数就是序列中间的数字。

    如果 Range\text{Range} 包含奇数个单元格,中位数是中间两个单元格的平均值。

    如果 Range\text{Range} 包含偶数个单元格,则将结果截断

  • Mode(Range)\texttt{Mode}\text{(Range)} 查找指定 Range\text{Range} 中的单元格的模式

    模式指 Range\text{Range} 范围内出现最多的值。如果出现次数出现相同的,则使用在列表中出现的第一个出现的数。

    Range\text{Range} 范围的矩形部分按行列输入,从左到右。

  • SumIf(Evaluation Range, condition, Sum Range)\texttt{SumIf}\text{(Evaluation Range, condition, Sum Range)} 对某些单元格求和。

    Sum Range\text{Sum Range} 中的相应单元格应被包括在Sum Range\text{Sum Range} 中。

    如果 Evaluation Range\text{Evaluation Range} 范围内的一个单元格符合 condition\text{condition} 条件,该单元格也会被求和。

    如果 Evaluation Range\text{Evaluation Range} 的单元格和 Sum Range\text{Sum Range} 的单元格之间没有一一对应关系,输出 #ERR#

    同上,Range\text{Range} 范围的矩形部分按行列输入,从左到右。

    Evaluation Range\text{Evaluation Range} 中的空白单元格也要计算,为达到所需一一对应关系的目的,对于空白单元格,所判断的 condition\text{condition} 条件应为假。

一个范围可以是 <单元格地址><单元格地址:单元格地址>,任何整数,或由逗号分隔的这些组合。

例如 C5,或 A3:B4A3,B3,A4,B4\text{A3,B3,A4,B4}),整数 55,或组合 D2,55,A3:B4,J3 都是合法的。

函数的括号内可能有空格;单元格地址中的列和行之间不会有空格。

输入格式

本题有多组测试数据

一行以 R 开头的输入表示某一行单元格的数据。

R 后的整数代表输入的是第几行的数据。

任何空单元格 B 都应该被空格填上。输入中没有提及的行为空行。

对于单元格数据这类的输入,每行输入一定给出这一行全部的数据,以空格隔开。

一行的条目可能会超过一行。

数据保证函数没有循环引用。但是,一个单元格的函数可使用另一个单元格的结果作为输入。

如果在函数的输入单元格中出现 #ERR##SYN##INP#,该函数应输出 #INP#

#INP# 是优先级最高的错误。

输入数据之间用空行分隔。

输出格式

对于每个测试数据,输出格式应该与样例输出完全一样。

所有的单元格的都应该为 55

任何没有数据的单元格都应该输出为 55 个空格。

输出中不应该有多余的空格,不同测试数据之间也不应该有空行。

2022/2/13 21:15
加载中...