【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 灰度图像恢复(100分) - 三语言AC题解(Python/Java/Cpp)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员
✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解
💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导
👏 感谢大家的订阅➕ 和 喜欢💗
📎在线评测链接
https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1087
🌍 评测功能需要 ⇒ 订阅专栏 ⇐ 后私信联系清隆解锁~
🍓OJ题目截图
文章目录
- 📎在线评测链接
- 🍓OJ题目截图
- 🎧 灰度图像恢复
- 问题描述
- 输入格式
- 输出格式
- 样例输入 1
- 样例输出 1
- 样例输入 2
- 样例输出 2
- 样例解释
- 数据范围
- 题解
- 参考代码
🎧 灰度图像恢复
问题描述
在计算机中,黑白图像常采用灰度图的方式存储。每个像素填充一个灰阶值,范围为 0 − 255 0-255 0−255,其中 0 0 0 表示全黑, 255 255 255 表示全白,其他值表示不同的灰度。为了节省存储空间,图像会使用压缩算法进行存储。
一种压缩算法的格式如下:
行数 列数 灰阶值1 连续像素个数1 灰阶值2 连续像素个数2 ...
其中,前两个数分别表示矩阵的行数和列数。从第三个数开始,每两个数一组,第一个数为灰阶值,第二个数表示该灰阶值从左到右、从上到下连续出现的像素个数。
给定压缩后的图像数据和一个像素位置,请恢复原始灰度图矩阵,并输出指定像素位置的灰阶值。
输入格式
第一行为压缩后的图像数据,格式如上所述。
第二行包含两个整数 r r r 和 c c c,用空格分隔,表示要查询的像素位置的行号和列号。行号和列号从 0 0 0 开始计数。
输出格式
输出一个整数,表示指定像素位置的灰阶值。
样例输入 1
10 10 255 34 0 1 255 8 0 3 255 6 0 5 255 4 0 7 255 2 0 9 255 21
3 4
样例输出 1
0
样例输入 2
10 10 255 34 0 1 255 8 0 3 255 6 0 5 255 4 0 7 255 2 0 9 255 21
3 5
样例输出 2
255
样例解释
根据压缩数据恢复后的灰度图矩阵,在第一个样例中,第 3 3 3 行第 4 4 4 列的像素灰阶值为 0 0 0;在第二个样例中,第 3 3 3 行第 5 5 5 列的像素灰阶值为 255 255 255。
数据范围
- 图像大小不超过 100 × 100 100 \times 100 100×100。
- 压缩数据长度不超过 1 0 4 10^4 104。
题解
根据压缩数据的格式,逐步恢复出原始的灰度图矩阵。遍历压缩数据,对于每一组灰阶值和连续像素个数,将对应的像素在矩阵中填充相应的灰阶值。最后输出指定位置的像素灰阶值即可。
参考代码
- Python
def soln(data, r, c):rows, cols, *pixels = map(int, data.split())matrix = [[0] * cols for _ in range(rows)]x, y = 0, 0for i in range(0, len(pixels), 2):val, cnt = pixels[i], pixels[i+1]for _ in range(cnt):matrix[x][y] = valy += 1if y == cols:y = 0x += 1return matrix[r][c]data = input()
r, c = map(int, input().split())
print(soln(data, r, c))
- Java
import java.util.Scanner;public class Main {public static int soln(String data, int r, int c) {Scanner scanner = new Scanner(data);int rows = scanner.nextInt();int cols = scanner.nextInt();int[][] matrix = new int[rows][cols];int x = 0, y = 0;while (scanner.hasNextInt()) {int val = scanner.nextInt();int cnt = scanner.nextInt();for (int i = 0; i < cnt; i++) {matrix[x][y++] = val;if (y == cols) {y = 0;x++;}}}return matrix[r][c];}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String data = scanner.nextLine();int r = scanner.nextInt();int c = scanner.nextInt();System.out.println(soln(data, r, c));}
}
- Cpp
#include <iostream>
#include <vector>
#include <sstream>using namespace std;int soln(const string& data, int r, int c) {istringstream iss(data);int rows, cols;iss >> rows >> cols;vector<vector<int>> matrix(rows, vector<int>(cols, 0));int x = 0, y = 0;int val, cnt;while (iss >> val >> cnt) {for (int i = 0; i < cnt; i++) {matrix[x][y++] = val;if (y == cols) {y = 0;x++;}}}return matrix[r][c];
}int main() {string data;getline(cin, data);int r, c;cin >> r >> c;cout << soln(data, r, c) << endl;return 0;
}
相关文章:
【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 灰度图像恢复(100分) - 三语言AC题解(Python/Java/Cpp)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 …...
leetcode494. 目标和
1.思想方法 2.代码 class Solution { public int findTargetSumWays(int[] nums, int target) {int sum 0;for(int num : nums)sum num;if(sum < Math.abs(target) || (targetsum)%2 ! 0)return 0;int x (targetsum) / 2,n nums.length;//基于滚动数组的方法int[] dp…...
数据结构简介
在容器的基础之上,java引入了数据结构的概念。数据结构可以简单地理解成是一个以特定的布局方式来存储数据的容器。但是我个人觉得这种理解方式不太合理,根据我们学的数据结构的内容,我更倾向于数据结构是数据在容器中的布局方式,…...
PyScript:在浏览器中释放Python的强大
PyScript:Python代码,直接在网页上运行。- 精选真开源,释放新价值。 概览 PyScript是一个创新的框架,它打破了传统编程环境的界限,允许开发者直接在浏览器中使用Python语言来创建丰富的网络应用。结合了HTML界面、Pyo…...
巴黎成为欧洲AI中心 大学开始输出AI创始人
来自Dealroom 的数据显示,在欧洲和以色列AI创业公司中,法国的AI创业公司资金最充裕。Mistral、Owkin、Hugging Face等法国企业已经融资23亿美元,比英国、德国AI创业公司都要多。 一名大学生走出校门凭借聪明才智和一个黄金点子成为富豪&#…...
完全离线的本地问答模型LocalGPT如何实现无公网IP远程连接提问
文章目录 前言环境准备1. localGPT部署2. 启动和使用3. 安装cpolar 内网穿透4. 创建公网地址5. 公网地址访问6. 固定公网地址 前言 本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址端口号的形式访问,实现远程访问…...
【算法专题--栈】栈的压入、弹出序列 -- 高频面试题(图文详解,小白一看就懂!!)
目录 一、前言 二、题目描述 三、解题方法 💧栈模拟法💧-- 双指针 ⭐ 解题思路 ⭐ 案例图解 四、总结与提炼 五、共勉 一、前言 栈的压入、弹出序列 这道题,可以说是--栈专题--,最经典的一道题,也是在…...
如何高效安全的开展HPC数据传输,保护数据安全?
高性能计算(HPC)在多个行业和领域中都有广泛的应用,像科学研究机构、芯片IC设计企业、金融、生物制药、能源、航天航空等。HPC(高性能计算)环境中的数据传输是一个关键环节,它涉及到将数据快速、安全地在不…...
Java部分复习笔记整理
一、Java常用类 1.String类 表示字符串,不可变,常用方法包括length(), charAt(), substring(), indexOf(), equals()等。 2.ArrayList类 基于数组实现的动态数组,可变大小,常用方法包括add(), get(), set(), remove(), size()…...
GoLang语言
基础 安装Go扩展 go build 在项目目录下执行go build go run 像执行脚本文件一样执行Go代码 go install go install分为两步: 1、 先编译得到一个可执行文件 2、将可执行文件拷贝到GOPATH/bin Go 命令 go build :编译Go程序 go build -o "xx.exe"…...
ctfshow web入门 sqli-labs web517--web524
web517 注入点id ?id-1’union select 1,2,3– 确认是否能够注入 ?id-1union select 1,database(),3-- 爆出库名 security爆出表名 ?id-1union select 1,(select group_concat(table_name) from information_schema.tables where table_schemasecurity),3-- emails,refer…...
Spring Cloud Gateway 跨域配置和跨服务请求跟踪
文章目录 引言I Spring Cloud Gateway 跨域配置1.1 网关统一处理:配置文件-推荐1.2 网关统一处理:配置类方式1.3 微服务处理,网关侧不用处理CORS。1.4 子服务依赖配置1.5 网关服务的依赖配置II 跨服务请求日志跟踪2.1 feign 依赖配置2.2 feign子模块将请求头中的参数,全部作…...
动手学深度学习(Pytorch版)代码实践 -卷积神经网络-29残差网络ResNet
29残差网络ResNet import torch from torch import nn from torch.nn import functional as F import liliPytorch as lp import matplotlib.pyplot as plt# 定义一个继承自nn.Module的残差块类 class Residual(nn.Module):def __init__(self, input_channels, num_chan…...
解锁音乐潮流:使用TikTok API获取平台音乐信息
一、引言 TikTok,作为全球领先的短视频社交平台,不仅为用户提供了展示自我、分享生活的舞台,还为用户带来了丰富多样的音乐体验。在TikTok上,音乐与视频内容的结合,为用户带来了全新的视听盛宴。对于音乐制作人、品牌…...
基于yolo的物体识别坐标转换
一、模型简介: 1.1、小孔成像模型简图如下:不考虑实际相机中存在的场曲、畸变等问题 相对关系为: 为了表述与研究的方便,我们将像面至于小孔之前,且到小孔的距离仍然是焦距f,这样的模型与原来的小孔模型是等价的 相对关系为: 二、坐标系简介: **世界坐标系(world coo…...
STM32第七课:KQM6600空气质量传感器
文章目录 需求一、KQM6600模块及接线方法二、模块配置流程1.环境2.配置时钟和IO3.配置串口初始化,使能以及中断4.中断函数 三、数据处理四、关键代码总结 需求 能够在串口实时显示当前的VOC(挥发性有机化合物),甲醛和Co2浓度。 …...
任务4.8.4 利用Spark SQL实现分组排行榜
文章目录 1. 任务说明2. 解决思路3. 准备成绩文件4. 采用交互式实现5. 采用Spark项目实战概述:使用Spark SQL实现分组排行榜任务背景任务目标技术选型实现步骤1. 准备数据2. 数据上传至HDFS3. 启动Spark Shell或创建Spark项目4. 读取数据5. 数据转换6. 创建临时视图…...
五线谱与简谱有什么区别 五线谱简谱混排怎么打 吉他谱软件哪个好
五线谱与简谱作为音乐记谱领域的两大主流系统,各自承载着深厚的历史渊源与独特的表现力,并在全球范围内被不同程度地接受和应用。尽管两者都是为了记录音乐作品中的音高和节奏信息,但其内在机制、适用范围以及学习曲线存在显著差别。下面我们…...
[C#][opencvsharp]C#使用opencvsharp进行年龄和性别预测支持视频图片检测
使用 OpenCVSharp 来调用 age_net.caffemodel 和 gender_net.caffemodel 来进行性别和年龄预测涉及几个步骤。以下是一个简化的流程和示例文案: 1. 准备工作 确保你已经安装了 OpenCVSharp 和相关的依赖项。确保你有 age_net.prototxt、age_net.caffemodel、gende…...
pdf拆分,pdf拆分在线使用,pdf拆分多个pdf
在数字化的时代,pdf文件已经成为我们日常办公、学习不可或缺的文档格式。然而,有时候我们可能需要对一个大的pdf文件进行拆分,以方便管理和分享。那么,如何将一个pdf文件拆分成多个pdf呢?本文将为你推荐一种好用的拆分…...
VScode Python debug:hydra.run.dir 写入launch.json
记录一个debug时的经验: VS code extension名称版本Pythonv2024.8.1Python Debuggerv2024.6.0 我配置的project运行 train.py 时需要在 terminal 输入参数 hydra.run.dirxxx 我想用 vscode debug 查看内部代码,按以往的经验需要将args写入launch.json&…...
ExVideo: 提升5倍性能-用于视频合成模型的新型后调谐方法
标题:ExVideo: Extending Video Diffusion Models via Parameter-Efficient Post-Tuning作者: Zhongjie Duan; Wenmeng Zhou; Cen Chen; Yaliang Li; Weining QianDOI: 10.48550/arXiv.2406.14130摘要: Recently, advancements in video synthesis have attracted s…...
laravel Dcat Admin 入门应用(三)Grid 之 Column
Dcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的 HTML 代码。 larav…...
掌握Llama 2分词器:填充、提示格式及更多
目录 简介Llama 2分词器基础为分词器设置填充添加特殊标记使用BOS和EOS标记进行分词定义填充标记训练中使用填充标记高级功能:掩码标记Llama的提示格式结论 简介 在语言模型领域,时间变化迅速。自Llama 2发布已经有几个月了,但关于其分词器…...
pdf合并,pdf合并成一个pdf,pdf合并在线网页版
在处理pdf文件的过程中,有时我们需要将多个pdf文件合并成一个pdf文件。作为一名有着丰富计算机应用经验的技术博主,我将为您详细介绍如何将多个pdf文件合并成一个pdf文件。 pdf合并方法:使用, “轻云处理pdf官网” 打开 “轻云处…...
算法基础--------【图论】
图论(待完善) DFS:和回溯差不多 BFS:进while进行层序遍历 定义: 图论(Graph Theory)是研究图及其相关问题的数学理论。图由节点(顶点)和连接这些节点的边组成。图论的研究范围广泛,涉及路径、…...
x86和x64架构的区别及应用
x86和x64架构的区别及应用 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在计算机硬件和软件领域,x86和x64是两种常见的处理器架构。它们在计算能…...
2024年度总结:不可错过的隧道IP网站评估推荐
随着网络技术的飞速发展,隧道IP服务成为了许多企业和个人在进行网络活动时的得力助手。作为专业的测评团队,我们经过一整年的深入研究和测试,为大家带来了三款备受瞩目的隧道IP网站推荐——品易HTTP、极光HTTP和一G代理。接下来,我…...
Linux下VSCode的安装和基本使用
应用场景:嵌入式开发。 基本只需要良好的编辑环境,能支持文件搜索和跳转,就挺OK的。 之所以要在Linux下安装,是因为在WIN11上安装后,搜索功能基本废了,咋弄都弄不好,又不方便重装win系统&#x…...
C# 实现websocket双向通信
🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C# 🤝希望本文对您有所裨益,如有不足之处ÿ…...
有免费做理化试验的网站吗/百度推广视频
为什么80%的码农都做不了架构师?>>> 关于UITableView的contentInset属性 1.关于滚动视图contentSize、contentOffset、contentInset 的整理 contentSize 是scrollview可以滚动的区域,比如frame (0 ,0 ,320 ,480) contentSize (320 ,960)&…...
wordpress保存502/数据分析网
朋友们,大家好,这次再次与作者见面,作者将发表一篇文章,介绍如何使用Python Tkinter创建文本编辑器。Tkinter是一个Python库,在您想要创建应用程序时非常有用。立即讨论如何制作此文本编辑器应用程序。现在,…...
个人备案网站可以做电影站吗/b2b电子商务平台网站
昨天测试视频失败。 今天继续改进。 通过在网上询问,找到了问题所在,终于可以进行视频了。 转载于:https://www.cnblogs.com/gting/p/4537338.html...
佛山做网站哪家好/网站批量查询
L2-算法基础-第07课 递推1, 2, 4, 8, 16 …… 数列的下一项是什么? 1, 2, 3, 5, 8 …… 数列的下一项是什么?递推递推就是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果。可用递推算法求解的问题…...
佳木斯市郊区建设局网站/我要推广网
本期我们继续进行运筹学之图与网络分析算法的讲解,我们将对图与网络分析的基础知识进行一个简单的回顾,并介绍求解最大流问题和最小费用最大流的MATLAB和Python相关代码,以帮助大家利用工具快速求解最大流问题和最小费用最大流问题࿰…...
wordpress 文章点击/郑州发布最新通告
也许是我一直在初创公司度过的时光,但是尽管我非常珍视Scrum的想法,并支持自组织团队和不断的反馈–我不禁感到看板代表了敏捷的新高度,为我们提供了更大的灵活性并从中吸取了教训我们从精益中学到了东西。 Scrum 很多人倾向于认为敏捷意味着…...