D. 传感器去极值平均滤波

    传统题 1000ms 256MiB

传感器去极值平均滤波

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

各种传感器会受到偶发噪声干扰,也可能因通信失败而丢失读数。控制程序需要从每组采样中计算一个稳定的数值。

题目描述

共有 n 组采样,每组包含 m 个原始读数。读数 -1 表示采样失败,其余读数均为 0 到 4095 的整数。对每组采样,按以下顺序处理:

  1. 忽略所有值为 -1 的读数。
  2. 若有效读数少于 3 个,输出 INVALID,本组不再处理。
  3. 从有效读数中恰好删去一个最大值和一个最小值。即使有多个读数并列最大或最小,也只各删去一个。
  4. 对剩余读数求算术平均值,舍去小数部分,得到滤波值。
  5. 在滤波值上加校准量 c,再将结果限制在 0 到 4095 之间,得到本组最终输出。

各组采样相互独立。

输入格式

第一行包含三个整数 n、m、c,分别表示采样组数、每组原始读数个数和校准量。

接下来 n 行,每行包含 m 个整数,表示一组原始读数。

输出格式

输出 n 行。对每组采样,输出最终数值;若有效读数少于 3 个,则输出 INVALID。

样例

5 5 20
100 102 99 98 101
-1 0 4095 0 -1
-1 -1 42 -1 -1
4095 4095 4095 4095 4095
1 2 3 4 5
120
20
INVALID
4095
23

样例解释

第一组删去 98 和 102 后,平均值为 100,加上 20 得到 120。第二组只有 3 个有效读数,删去 0 和 4095 后剩余 0。第四组加校准量后超过上限,因此输出 4095。

数据范围

1 ≤ n ≤ 1000,3 ≤ m ≤ 50,-4095 ≤ c ≤ 4095。每个原始读数为 -1 或 0 到 4095 的整数。

时间限制:1 秒;内存限制:256 MiB。

ASC2026考核C语言训练题二(AC这10道提前知道51考核任务)

未参加
状态
已结束
规则
ACM/ICPC
题目
10
开始于
2026-10-1 0:00
结束于
2026-10-6 0:00
持续时间
120 小时
主持人
参赛人数
121