万卷网 > 题目详情
题型:编程题

图像压缩

【问题描述】

1. 灰度图像有 256 级灰阶,编码 00-FF,对应 0-255,即图像有很多点,每个点取值是 00 到 FF。编程压缩到 16 级灰阶,对应 0-F。

2. 压缩规则:统计出每种灰阶的数量,取数量最多的前 16 种灰阶(如某种灰阶的数量与另外一种灰阶的数量相同,则以灰阶值从小到大为序),分别编号 0-F。其他灰阶转换到最近的 16 种灰阶之一,将某个点灰阶数与 16 种灰阶种的一种相减,绝对值最小即为最近。

3. 输入:多行数据,每行数据等长,每两个字符构成一个点,十六进制;输出:首先连续最多输出 16 种灰阶编码,不足 16 种灰阶就按实际输出;然后各行输出压缩后的编码,每行等长。

【输入描述】

1. 第 1 次输入正整数 n,表示有多少行数据。

2. 随后输入 n 行数据。

3. 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有 input()函数不可有提示信息。

【输出描述】

1. 首先输出 16 种灰阶编码,共计 32 个字符。不足 16 种按实际输出。输出数量最多的 16 种灰阶,从多到少;如某种灰阶的数量与另外一种灰阶的数量相同,则以灰阶值从小到大为序;

2. 特别提示:注意输出字母为大写,小写将判为错误,数本身与字母 T 和 F 之前没有空格。


【样例输入 1】

10
00FFCFAB00FFAC09071B5CCFAB76
00AFCBAB11FFAB09981D34CFAF56
01BFCEAB00FFAC0907F25FCFBA65
10FBCBAB11FFAB09981DF4CFCA67
00FFCBFB00FFAC0907A25CCFFC76
00FFCBAB1CFFCB09FC1AC4CFCF67
01FCCBAB00FFAC0F071A54CFBA65
10EFCBAB11FFAB09981B34CFCF67
01FFCBAB00FFAC0F071054CFAC76
1000CBAB11FFAB0A981B84CFCF66

【样例输出 1】

ABCFFF00CB09AC07101198011B6776FC
321032657CD10E
36409205ACC16D
B41032657FD16D
8F409205ACF14D
324F326570D1FE
3240C245FC411D
BF4032687CD16D
8F409205ACC11D
B240326878D16E
83409205ACE11D


更新时间:2023-06-23 15:09:44 |
【知识点】 CCF—GESP Python四级

相似题推荐

单选题

执行以下Python 代码后,输出的结果是?()

try:
    print(1, end="")
    raise ValueError("x")
except ValueError as e:
    print(2, end="")
else:
    print(3, end="")
finally:
    print(4, end="")
A.

14

B.

124

C.

1234

D.

程序报错

2026-07-31
单选题

2026年春节联欢晚会上一个武术表演节目《武BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( )。

A.

用于检测重心的重力传感器

B.

预装的AI算法程序

C.

接收动作指令的遥控器

D.

拍摄其他机器人的摄像头

2026-07-31
判断题

执行以下Python 代码后,输出的结果是[6 , 7]。

print(list(filter(lambda x: x > 5 , [3 , 6 , 7 , 2])))
A.正确 B.错误
2026-07-31
判断题

执行以下Python代码后,输出的结果是'789\n456 '。

with open('test.txt', 'w') as f:
    f.write('123\n456')

with open('test.txt', 'r+') as f:
    f.seek(0, 2)
    f.write('789')
    f.seek(0)
    print(repr(f.read()))
A.正确 B.错误
2026-07-31
编程题

礼盒排序

时间限制:1.0 s

内存限制:512.0 MB

题目描述

商店推出了许多礼盒,每个礼盒中包含k件商品,每件商品都有一个价格。

现在需要对这些礼盒进行排序,排序规则如下:

1. 先按礼盒总价格从小到大排序;

2. 如果总价格相同,按礼盒中最贵商品的价格从小到大排序;

3. 如果仍然相同,按礼盒中最便宜商品的价格从小到大排序;

4. 如果仍然相同,按礼盒编号从小到大排序。

请输出排序后的礼盒编号。

输入格式

第一行包含两个整数n和k,分别表示礼盒数量和每个礼盒中商品的数量。

接下来n行,每行包含k个整数,第i行表示第i个礼盒中各商品的价格。

输出格式

输出一行,包含排序后的礼盒编号(编号从1开始),用空格分隔。

输入样例

4 3
3 5 2
4 1 5
2 2 4
3 4 3

输出样例

3 4 2 1

样例解释

4 个礼盒分别为:

排序过程:

1. 按总价排序,3号礼盒总价最小;

2. 其余总价均为 10,再按最大值排序,4号最大值更小;

3. 1号和2号最大值相同,再按最小值排序,2号更小。

最终顺序为:3 4 2 1

 数据范围

保证1≤n≤103,1≤k≤10,商品价格≤104。

2026-07-31
公众号
客服 反馈
顶部