2024年华为OD机试真题-特殊的加密算法-Python-OD统一考试(C卷)

news/2024/7/20 19:04:44 标签: 华为od, python, 职场和发展, 开发语言, 矩阵

题目描述:

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

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

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

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

4.每一位明文对应密文即为密码本中找到的单元格所在的行和列序号(序号从0开始)组成的两个数字。如明文第位Data[i]对应密码本单元格为Book[x][y],则明文第i位对应的密文为XY,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”

输入描述:

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

第二行输入N个明文数字组成的序列Data[i] (整数: 0<= Data[i]<= 9)

第三行1个正整数M,代表密文的长度接下来M行,每行M个数,代表密文矩阵

输出描述


http://www.niftyadmin.cn/n/5461429.html

相关文章

rust- 结构体与二进制数组转换

将结构体当二进制流传输是做网络编程时传输协议的常用功能。golang语言可以使用包 encoding/binary实现,例如 import ("encoding/binary""os" )... err : binary.Write(f, binary.LittleEndian, p) ...rust中可以使用 deku将结构体实例转换为by…

理解 Python 编程中 *args 与 **kwargs 的妙用

文章目录 一、形式参数与实际参数二、*args 与 **kwargs三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 在 Python 编程中,*args 和 **kwargs 是两种用于函数定义时处理可变数量的参数的机制。它们分别用于处理位置参数&#xff…

计算机网络 - 基础篇总结

TCP/IP 网络模型有哪几层? 1.应用层 为用户提供应用功能 2.传输层 负责为应用层提供网络支持 使用TCP和UDP 当传输层的数据包大小超过 MSS(TCP 最大报文段长度) ,就要将数据包分块,这样即使中途有一个分块丢失或损坏…

数据结构——快速排序的三种方法和非递归实现快速排序

数据结构——快速排序的三种方法和非递归实现快速排序(升序) 前言快速排序的单趟排序hoare法挖坑法前后指针法 快速排序的实现key基准值的选取快速排序代码快速排序的优化 快速排序(非递归) 前言 快速排序是Hoare于1962年提出的一…

c#基础-引用类型和值类型的区别

在C#中,数据类型分为两类:值类型和引用类型。 值类型:直接存储数据,分配在栈(Stack)上。常见的值类型包括基本数据类型(int, float, double等),结构体(struct),枚举(enum)等。 引用类型:存储数据的引用和对象,分配在托管堆(Heap)上。常见的引用类型包括类(cla…

openGauss 客户端工具DataStudio

openGauss客户端工具DataStudio 可获得性 DataStudio可在openGauss官网获取安装包,或在gitee上获取源码自行编译。 特性简介 DataStudio 是面向开发人员和数据库管理员的通用集成开发环境。它简化了openGauss 数据库的开发和管理。 DataStudio 允许数据库开发人…

要闻 | 人大金仓亮相2024华南医院信息网络大会

3月24日,由广东省医院协会主办的“2024年华南医院信息网络大会”在珠海国际会展中心圆满落幕。人大金仓在开幕式上与多家伙伴签署了医疗信创战略合作协议,并受邀分享了医疗行业核心系统国产化标杆案例及方案,获得了广泛关注和认可。 本次大会…

【Gitea的介绍】

🔥博主:程序员不想YY啊🔥 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家💫 🤗点赞🎈收藏⭐再看💫养成习惯 🌈希望本文对您有所裨益,如有…