news 2026/2/28 7:07:54

华为OD机考双机位C卷 - 特殊的加密算法(Java Python JS C/C++ GO )

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD机考双机位C卷 - 特殊的加密算法(Java Python JS C/C++ GO )

最新华为上机考试

真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
华为OD机考双机位C卷

题目描述

有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。

规则如下:

  1. 明文为一段数字串由 0~9 组成

  2. 密码本为数字 0~9 组成的二维数组

  3. 需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。

  4. 每一位明文对应密文即为密码本中找到的单元格所在的行和列序号(序号从0开始)组成的两个数宇。

    如明文第 i 位 Data[i] 对应密码本单元格为 Book[x][y],则明文第 i 位对应的密文为X Y,X和Y之间用空格隔开。

如果有多条密文,返回字符序最小的密文。

如果密码本无法匹配,返回"error"。

请你设计这个加密程序。

示例1:

密码本:

0 0 2

1 3 4

6 6 4

明文:“3”,密文:“1 1”

示例2:

密码本:

0 0 2

1 3 4

6 6 4

明文:“0 3”,密文:“0 1 1 1”

示例3:

密码本:

0 0 2 4

1 3 4 6

3 4 1 5

6 6 6 5

明文:“0 0 2 4”,密文:“0 0 0 1 0 2 0 3” 和 “0 0 0 1 0 2 1 2”,返回字典序最小的"0 0 0 1 0 2 0 3"

明文:“8 2 2 3”,密文:“error”,密码本中无法匹配

输入描述

第一行输入 1 个正整数 N,代表明文的长度(1 ≤ N ≤ 200)

第二行输入 N 个明文组成的序列 Data[i](0 ≤ Data[i] ≤ 9)

第三行输入 1 个正整数 M,代表密文的长度

接下来 M 行,每行 M 个数,代表密文矩阵

输出描述

输出字典序最小密文,如果无法匹配,输出"error"

用例1

输入

2 0 3 3 0 0 2 1 3 4 6 6 4

输出

0 1 1 1

用例2

输入

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/26 20:32:06

基于S7 - 200西门子PLC的汽车自动清洗机控制系统揭秘

S7-200 MCGS 基于S7-200西门子PLC汽车自动清洗机控制系统带解释的梯形图接线图原理图图纸,io分配,组态画面在自动化领域,汽车自动清洗机的控制系统是一个很有趣的应用场景。今天咱们就来唠唠基于S7 - 200西门子PLC以及MCGS的汽车自动清洗机控…

作者头像 李华
网站建设 2026/2/15 18:42:11

三电平变换器中的中点电位平衡控制与载波层叠调制

中点电位平衡控制,载波层叠调制,三电平变换器,三电平逆变器,T型变换器 在电力电子领域,三电平变换器以其独特的优势广泛应用于众多场合,像高压大功率的电机驱动、可再生能源发电并网等。其中,三…

作者头像 李华
网站建设 2026/2/27 2:12:44

LabVIEW 与 MySQL 数据库的奇妙联动:数据管理全攻略

LabVIEW数据库Mysql数据库操作;增加-删除-更新-查询;数据管理程序,完整案例,可移植。 在数据驱动的时代,数据库操作是众多应用不可或缺的一环。LabVIEW 作为一款功能强大的图形化编程环境,与 MySQL 这个广泛使用的开源数据库相结…

作者头像 李华
网站建设 2026/2/26 9:39:59

程序员必看!大模型技术栈全解析,从Token到Agent,小白也能变大神

本文将系统梳理AI大模型领域的14个核心概念,从基础架构到训练优化,再到前沿应用模式,帮助读者建立对这一复杂技术的全面认知框架。通过深入浅出的解释,读者将理解大模型为何能实现"智能涌现",以及如何解决其…

作者头像 李华