【python】单词接龙

题目:

这是一个关于“单词接龙”的算法题目。在这个游戏中,我们需要从给定的一组单词中,以特定的开头字母构造出一条最长的“龙”。每个单词在这条“龙”中最多出现两次。当两个单词相连时,它们的重合部分被合并成一个。例如,"beast"和"astonish"可以合并成"beastonish"。重要的是,相邻的两个单词之间不能存在包含关系,比如"at"和"atide"不能相连。

 

代码:

n = int(input().strip())
word = [input().strip() for _ in range(n)]
beginn = input().strip()# 初始化一个列表,用于记录每个单词的使用次数
used = [0 for _ in range(n)]
# 初始化答案变量,用于存储最长字符串的长度
ans = 0# 定义一个函数来检查两个字符串是否在给定长度k的情况下能够连接
def check(s, m, k):return s[-k:] == m[:k]# 定义一个函数来连接两个字符串,从第k个字符开始连接
def add(s, m, k):return s + m[k:]# 定义一个深度优先搜索函数来递归地寻找最长的字符串
def dfs(now):global ansx = len(now)ans = max(ans, x)for i in range(n):# 如果某个单词使用次数超过2次,则跳过if used[i] >= 2:continuemaxk = len(word[i])for j in range(1, maxk + 1):# 如果当前字符串now和word[i]能在j长度下连接,则进行连接if check(now, word[i], j):temp = add(now, word[i], j)# 如果连接后的字符串与当前字符串相同,则跳过 包含了if temp == now:continueused[i] += 1dfs(temp)used[i] -= 1# 从起始单词开始递归搜索
dfs(beginn)
# 输出最长字符串的长度
print(ans)

 

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

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

相关文章

spring boot中使用Bean Validation做优雅的参数校验

一、Bean Validation简介 Bean Validation是Java定义的一套基于注解的数据校验规范,目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),目前最新稳定版2.0.2(201…

LMI相机配置步骤,使用Gocator2550相机

在此之前可以先浏览我编写的相机SDK通用类和LMISDK,进行配套观看 https://blog.csdn.net/m0_51559565/article/details/134404394 //LMI相机SDK https://blog.csdn.net/m0_51559565/article/details/134403745 //相机通用类1.启动LMI加速器 LMI加速器用于将相机…

什么是智能井盖?万宾科技的智能井盖传感器的效果

近年来为打造智慧城市政府一直在不懈努力。加速城市基础建设是一项重要的举措,它有助于推动城市综合治理城市生命线的建设工程。在改善市民生活质量的过程中,市政部门正积极进行井盖的改进和升级工作,特别是那些看似微不足道的井盖却蕴含着重…

Java基于itextPDF实现pdf动态导出

Java基于itextPDF实现pdf动态导出 1、制作PDF导出模板2 、集成itextpdf3 、编写实体4 、编写主要代码5、编写controller并测试补充:踩坑记录 现在的业务越来越复杂了,有些业务场景已经不能满足与EXCEL导出和WORD导出了,例如准考证打印&#x…

深度学习 植物识别算法系统 计算机竞赛

文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核,池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…

arf_1解题

arf_1解题 镜像环境 version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-1:latestports:- 80:80新建yml文件将代码保存在当前位置 使用docker-compost up -d 拉取镜像 解题 访问该镜像映射端口为1520 可以看到页面只有一个holle但…

【Python】一文带你掌握数据容器之集合,字典

目录: 一、集合 思考:我们目前接触到了列表、元组、字符串三个数据容器了。基本满足大多数的使用场景为何又需要学习新的集合类型呢? 通过特性来分析: (1)列表可修改、支持重复元素且有序 (2)元组、字符…

Home Assistant使用ios主题更换背景

Home Assistant使用ios主题、更换背景 lovelace-ios-dark-mode-theme 默认前置情况,1、已安转HACS插件2、搜索安装 IOS Dark Mode Theme1)第一、二步应该很容易实现,configuration.yaml文件很容易被找到2)而本人在进行第三步操作时…

php+vue3实现点选验证码

buildadmin 中的点选验证码实现 验证码类 <?phpnamespace ba;use Throwable; use think\facade\Db; use think\facade\Lang; use think\facade\Config;/*** 点选文字验证码类*/ class ClickCaptcha {/*** 验证码过期时间(s)* var int*/private int $expire 600;/*** 可以…

我记不住的那些命令(不断更新中)

fzf 一种进行模糊查找的命令行工具 主页&#xff1a;https://github.com/junegunn/fzf 我的主机是 Kali&#xff0c;通过apt进行安装fzf&#xff0c;并进行配置。 # apt install fzf # apt show fzf 通过参考/usr/share/doc/fzf/README.Debian来进行快速配置快捷键和自动补…

保护您的Google账号安全:检查和加固措施

简介&#xff1a;随着我们在日常生活中越来越依赖于Google账号&#xff0c;我们的个人信息和敏感数据也变得越来越容易受到威胁。为了确保您的Google账号的安全性&#xff0c;本文将介绍一些简单但有效的方法&#xff0c;帮助您检查和加固您的Google账号。 --- 在数字时代&am…

squid代理服务器

squide是正向代理&#xff0c;缓存加速。基于aci访问控制协议。可以过滤控制。可以实现访问控制 squid代理的工作机制 nginx是转发 1、 squid是代替客户端向网站请求数据&#xff0c;不需要访问代理的ip地址。直接请求目的网站即可。由代理服务器处理请求和响应。squid也可以…

[Mac软件]Adobe Media Encoder 2024 V24.0.2免激活版

软件说明 使用Media Encoder&#xff0c;您将能够处理和管理多媒体。插入、转码、创建代理版本&#xff0c;并几乎以任何可用的格式输出。在应用程序中以单一方式使用多媒体&#xff0c;包括Premiere Pro、After Effects和Audition。 紧密整合 与Adobe Premiere Pro、After …

WebRTC简介及使用

文章目录 前言一、WebRTC 简介1、webrtc 是什么2、webrtc 可以做什么3、数据传输需要些什么4、SDP 协议5、STUN6、TURN7、ICE 二、WebRTC 整体框架三、WebRTC 功能模块1、视频相关①、视频采集---video_capture②、视频编解码---video_coding③、视频加密---video_engine_encry…

保护数字前沿:下一代防火墙如何塑造网络安全的未来

下一代防火墙通过提供先进的威胁检测、精细控制和云安全功能&#xff0c;正在重塑网络安全的未来。随着数字环境的不断发展&#xff0c;组织必须采用这些创新解决方案来保护其数字资产并维护安全的数字前沿。 在当今互联的世界中&#xff0c;网络威胁变得越来越复杂&#xff0c…

阿里云ACK(Serverless)安装APISIX网关及APISIX Ingress Controller

在k8s上安装apisix全家&#xff0c;通过helm安装很简单&#xff0c;但是会遇到一些问题。 安装 首先登录阿里云控制台&#xff0c;在ACK集群详情页&#xff0c;进入CloudShell&#xff0c;执行下面helm命令安装apisix、apisix-ectd、apisix-dashboard和apisix-ingress-contro…

第1关:构造函数与析构函数的实现

题目&#xff1a;根据.h写出.cpp 考点&#xff1a; 1.链表的默认构造&#xff0c; 拷贝构造&#xff0c;传参构造以及析构函数等。 代码&#xff1a; /********** BEGIN **********/ #include <cstdlib> #include <cstring> #include "LinkedList.h&…

ARM PMU

PMU单元概览 ARM PMU概要 PMU作为一个扩展功能&#xff0c;是一种非侵入式的调试组件。 对PMU寄存器的访问可以通过CP15协处理器指令和Memory-Mapped地址。 基于PMUv2架构&#xff0c;A7处理器在运行时可以收集关于处理器和内存的各种统计信息。对于处理器来说这些统计信息中…

AI:83-基于深度学习的手势识别与实时控制

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…