传感器去极值平均滤波
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
各种传感器会受到偶发噪声干扰,也可能因通信失败而丢失读数。控制程序需要从每组采样中计算一个稳定的数值。
题目描述
共有 n 组采样,每组包含 m 个原始读数。读数 -1 表示采样失败,其余读数均为 0 到 4095 的整数。对每组采样,按以下顺序处理:
- 忽略所有值为
-1的读数。 - 若有效读数少于 3 个,输出
INVALID,本组不再处理。 - 从有效读数中恰好删去一个最大值和一个最小值。即使有多个读数并列最大或最小,也只各删去一个。
- 对剩余读数求算术平均值,舍去小数部分,得到滤波值。
- 在滤波值上加校准量 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