【华为机试】2023年真题B卷(python)-考古问题

一、题目

题目描述:

考古问题,假设以前的石碑被打碎成了很多块,每块上面都有一个或若干个字符,请你写个程序来把之前石碑上文字可能的组合全部写出来,按升序进行排列。

二、输入输出

三、示例

示例1:
输入输出示例仅供调试,后台判题数据一般不包含示例
输入:
3
a b c
输出
abc
acb
bac
bca
cab
cba
示例2:

输入输出示例仅供调试,后台判题数据一般不包含示例
输入
3
a b a
输出
aab
aba
baa

四、要求

时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld

五、解题思路

排列组合问题,简单的 DFS 

六、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-考古问题.py
@Time    :   2023/12/30 22:51:00
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''# import os
# import re
# import sys
# import copy
# import math
# import queue
# import functools
# from queue import Queue
# from collections import Counter, defaultdictdef permutations(prefix, remaining, result):"""生成所有可能的排列组合Args:prefix (str): 当前生成的排列组合的前缀remaining (list): 剩余的字符列表result (list): 存储生成的排列组合的结果列表"""for i in range(len(remaining)):str_i = prefix + remaining[i]remaining_i = remaining[:i] + remaining[i+1:]if not remaining_i:if str_i not in result:result.append(str_i)else:permutations(str_i, remaining_i, result)result = []
num = int(input())  # 输入字符块数量
list_n = input().split(' ')  # 输入字符块列表
permutations('', list_n, result)  # 生成排列组合
result.sort()  # 对结果进行排序
for s in result:print(s)  # 输出结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解Apache 配置与应用

本章内容 理解 Apache 连接保持 掌握 Apache 的访问控制 掌握 Apache 日志管理的方法 Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源、跨平台、功能 模块化、可灵活定制等诸多优点,不仅性能稳定,在安全性方面的表现也十分…

【设计模式-2】原型模式的原理、代码实现及类图展示

我们一定对类的实例化比较熟悉,前面我们说的单例、还有3种工厂模式都是通过new关键字来创建对象,下面我们来了解一种新的对象创建的方式。 1. 定义 原型模式也是一种创建型的设计模式,实现和原理总体比较简单,一句话总结呢&#…

Weblogic安全漫谈(二)

前言 继本系列上篇从CVE-2015-4852入手了解T3协议的构造后,本篇继续分析开启T3反序列化魔盒后的修复与绕过。 Weblogic对于10.3.6推出了p20780171和p22248372用于修复CVE-2015-4852,在补丁详情中又提示了p21984589是它的超集,所以可以直接装…

通过软盘拷贝文件 - 华为OD统一考试

OD统一考试(B卷) 分值: 200分 题解: Java / Python / C 题目描述 有一名科学家想要从一台古董电脑中拷贝文件到自己的电脑中加以研究但此电脑除了有一个3.5寸软盘驱动器以外,没有任何手段可以将文件持贝出来,而且只有一张软盘可以…

MySQL将多条数据合并成一条的完整示例

数据库中存的是多条数据,展示的时候需要合并成一条 数据表存储形式如下图 以type分组,type相同的算一条,且保留image和link的所有数据,用groupBy只保留一条数据 解决方案:用GROUP_CONCAT 完整语法如下 group_concat…

从有向带权图判断最短路径里各目标顶点顺序

对如下有向带权图,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是() A.d,e,f B.e,d,f C.f,d,e D.f,…

linux-6.0 内核存储栈全景图

linux 存储栈原图地址:https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram

自动驾驶TPM技术杂谈 ———— ODDODC

文章目录 介绍研究现状主流相关定义国标定义SAE定义WP29定义 ODD主流构建框架NHTSA ODD构建框架SAE AVSC ODD构建框架PEGASUS 6层模型BSI ODD构建框架 设计运行条件的原则ODC 的设计原则ODC 元素的制定原则ODC 的使用原则 设计运行条件元素ODD 元素驾乘人员状态4车辆状态 ODC 描…

3分钟Alibaba Cloud Linux镜像操作系统详解

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

深入了解隧道代理HTTP的协议与技术细节

隧道代理HTTP,作为一种网络通信的桥梁技术,其背后的协议与技术细节承载着网络世界的无尽奥秘。对于技术人员而言,深入了解这些细节,不仅有助于优化网络性能,还能为网络安全提供坚实的保障。 一、隧道代理HTTP的协议基…

2024阿里云服务器租赁优惠价格表_ECS和轻量应用服务器配置报价

阿里云服务器租用价格表大全,云服务器一年费用、一个月价格以及1小时收费明细,阿里云2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月,ECS云服务器e系列2核2G配置99元一年、2核4G服务器30元3个月、2核4G配置365元一年、…

二维码、条形码识别

一. 场景介绍 二维码和条形码包含很多信息,对二维码和条形码识别对信息抽取具有重要意义。下面介绍两种二维码识别的方法,并用python实现。 二. 代码实现 import os import cv2 from cv2.wechat_qrcode import WeChatQRCode from pyzbar import pyzba…

深度生成模型之GAN基础 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN基础生成对抗网络1. 生成对抗网络如何生成数据2. 生成对抗原理3. GAN的核心优化目标4. D的优化5. GAN的理想状态6. GAN的训练7. 梯度不稳定与模式崩塌(collapse mode)问题8. 梯度消失问题 深度生成模型之GAN基础 生成对抗网络 1. 生成对抗网络如何…

三、HTML元素

一、HTML元素 HTML 文档由 HTML 元素定义。 *开始标签常被称为起始标签(opening tag),结束标签常称为闭合标签(closing tag)。 二、HTML 元素语法 HTML 元素以开始标签起始。HTML 元素以结束标签终止。元素的内容是…

python算法问题,求两个字符串的最长公共子序列长度

对于问题,两个字符串的最长公共子序列长度进行求解,首先要知道子序列的定义,如果说给定一个字符串,对这个字符串中的原有字符进行不改变字符相对位置的删除,这里的相对位置就是处于前还是后的相对关系,进行…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-7Lead Compensator超前补偿器(调节根轨迹)

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-7Lead Compensator超前补偿器(调节根轨迹) 1. Plot Rootlocus 绘制根轨迹2. System Performance 系统表现3. 改善/加快收敛速度4. 超前补偿器 Lead Compe…

Vue3 结合typescript 组合式函数

在App.vue文件中 实现鼠标点击文件,显示坐标值 第一种方法 第二种方法:组合式函数 结果: 官网推荐组合函数:https://vueuse.org

MySQL之四大引擎、账号管理以及建库

目录 一.数据库存储引擎 ① MEMORY ②MyISAM ③InnoDB ④ARCHIVE 二.数据库管理 2.1.三大数据库 2.1.1.information_schema 2.1.2.mysql 2.1.3.performance_schema 2.2.相关操作 2.3.权限相关的表 三. 数据库的表管理 3.1.三大范式 3.2.基本数据类型 四.账号管理…

Arbitrum之后,估值18亿美元Scroll又火了

文章目录 Scroll的核心竞争力EVM等效全面的去中心化如何领取Scroll空投?结语参考 Scroll是用于以太坊的原生zkEVM Layer 2解决方案,帮助解决以太坊的拥堵问题并进行扩容。 Scroll创立于2021年,致力于创建一个 EVM(以太坊虚拟机&a…

论文阅读: Semantics-guided Triplet Loss

ICCV 2021 Abstract 一个度量学习方法,通过浏览语义引导的局部集合去优化内在深度表示。一个新颖的特征融合模块能有效利用跨模态特异质特征。 Senantics-guided Triplet Loss 基本假设: 在场景语义分割图像中,目标内部相邻像素拥有同样…