信息学奥赛一本通1220
【题目描述】
单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at和atide间不能相连。
【输入】
输入的第一行为一个单独的整数n(n≤20)表示单词数,以下n行每行有一个单词(只含有大写或小写字母,长度不超过20),输入的最后一行为一个单个字符,表示“龙”开头的字母。你可以假定以此字母开头的“龙”一定存在。
【输出】
只需输出以此字母开头的最长的“龙”的长度。
【输入样例】
5
at
touch
cheat
choose
tact
a
【输出样例】
23
【心得】决策变成了所有单词,选择有重叠字符串(有可能一个字符或者多个字符)的单词即可,注意传递字符串参数时使用副本。
【AC代码】
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,ma=0,vis[25];
char word[25][25];
void dfs(char s[])
{char t[200];int lens=strlen(s);for(int i=1;i<=n;i++){int len=min(lens,(int)strlen(word[i]));if(vis[i]<2)//每个单词最多使用两次{for(int j=1;j<=len-1;j++)//重叠宽度不能多于单词的长度{if(strncmp(word[i],s+lens-j,j)==0)//比较两个字符串的前j位,其中s+lens-j为连接字符串的后j位{vis[i]++;strcpy(t,s);strcat(t,word[i]+j);dfs(t);//传送最新的连接字符串vis[i]--;}} } }if(ma<lens) ma=lens;
}
int main()
{char t[100];cin>>n;for(int i=1;i<=n+1;i++) cin>>word[i];for(int i=1;i<=n;i++){if(word[i][0]==word[n+1][0]){strcpy(t,word[i]);//不能直接传送原单词的地址,使用副本vis[i]++;dfs(t);vis[i]--;} } cout<<ma;return 0;
}
信息学奥赛一本通1220相关推荐
- 信息学奥赛一本通 1220:单词接龙 | 1913:【00NOIP普及组】单词接龙 | OpenJudge NOI 2.5 8783 | 洛谷 P1019 [NOIP2000 提高组] 单词接龙
[题目链接] ybt 1220:单词接龙 ybt 1913:[00NOIP普及组]单词接龙 OpenJudge NOI 2.5 8783:单词接龙 洛谷 P1019 [NOIP2000 提高组] 单词 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
- 《信息学奥赛一本通提高篇》第6章 组合数学
例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...
- 《信息学奥赛一本通 提高篇》
提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
第1章 快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章 素数 第 3 章 约数 第 4 章 同余问题 第 5 章 矩阵乘法 第 6 章 ...
- 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC
http://ybt.ssoier.cn:8088/show_source.php?runid=14630195 /* 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC http:/ ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂
信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂 https://blog.csdn.net/mrcrack/article/details/82846727 快速幂取模算法如何实现? h ...
最新文章
- pycharm 远程调试图文_Pycharm配置远程调试的图文步骤
- linux c ping 分析实现
- python dlib学习(八):训练人脸特征点检测器
- 【文章】一副对联,便写尽了人生
- schema在oracle里是什么意思
- 表单多条相同name数据的获取
- 【渝粤教育】国家开放大学2018年春季 0314-21T兽医基础 参考试题
- 在eclipse中一种简单使用debug的方式
- 语音 AI 技术简介
- word文件太大如何压缩到最小?
- Postek博思得标签打印机更换电脑,打印出来标签空白
- host文件的工作原理及应用
- android-第一行代码-第六章数据储存——持久化技术 含MMKV和Room新知识点(温故而知新)学习记录
- java植物大战僵尸_JAVA课程设计——植物大战僵尸(团队)
- ClickHouse压缩率
- java对接钉钉发送消息通知
- glTexImage2D 函数详解
- LightOJ - 1395
- Pycharm远程连接服务器(实践笔记)
- htmldd隐藏,如何在隐藏“dd”后隐藏“dd”
热门文章
- 国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)
- 地址后面的sessionid怎么消除_富贵包的消除和改善头前倾,通过运动和减肥可以吗?...
- Java计算机毕业设计大学生企业推荐系统源码+系统+数据库+lw文档
- 中国各个省市区(县)级联数据
- Springboot接入阿里云物联网SDK实现控制网络继电器通断
- 刀与剑-C++ COM组件调用
- COM组件和一般DLL 的区别
- Tomcat6 无法登陆Tomcat Manager
- Lintcode 算法
- 微博认证怎么弄黄v:微博兴趣认证指定领域