noip单词接龙
看了许多题解都好长啊,自不量力的来贴一下代码
(震惊于这都能ac。。。)
这道题的思路是先从字符串中找有重部分然后直接比较剩下的部分,比较的数据也可以用来计算数值
其实满水的题
总之看注释啦(竟然能耐心的写完注释...)
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<stack>
#include<cstring>
using namespace std;
int n,num;
string w[];//记录单词
int use[];//记录使用单词次数
int ans,now=;//记录接龙的长度,now=1是省略了头字母
void dfs(int k)//深搜
{
ans=max(ans,now);//跟上个题解学的,取大
for(int i=;i<=n;i++)//搜索每个单词
{
if(use[i]<)//判断
{
for(int j=;j<w[k].length();j++)//判断,如果首字母相同则比较
if(w[i][]==w[k][j])
{
int l1=j,l2=;
while(w[i][l2]==w[k][l1]&&l1<w[k].length())l1++,l2++;//比较至词尾
if(l1>=w[k].length())//如果比较完成
{
now+=w[i].length()-l2;//新单词减去与上个单词重合的长度
use[i]++;
dfs(i);//以这个单词为新节点搜索
now-=w[i].length()-l2;
use[i]--;
}
}
}
}
}
int main()
{
cin>>n;
for(int i=;i<=n;i++)
cin>>w[i];
cin>>w[];//**把头字母看做一个单词**
dfs();//**从头字母这个单词搜索**
cout<<ans;
return ;
}/*我无聊呀,无聊!一袋恰恰香瓜子,我一个人嗑完了,一共1869颗,21颗是空的,混进来9颗带虫的,还有6颗没炒开,是连在一起的,还有4个是苦的。中间喝了7杯水。没错,这就是孤独。…刚才这一段话一共67个字,11个标点符号,其中8个逗号,3个句号,一共有587划,其中横78划,竖137划,撇65划,捺57划,其他139划。没错这就是闲人的最高境界难过同意的来个赞赞?(?ε`) 顺便无聊一下*/
noip单词接龙的更多相关文章
- codevs 1018 [noip 2000 提高] 单词接龙
题目链接:http://codevs.cn/problem/1018/ 题目描述 Description 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, ...
- Codevs 1018 单词接龙
1018 单词接龙 2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描 ...
- 单词接龙(codevs 1018)
2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 单词接龙是一个与我们经 ...
- NOIP2000单词接龙[DFS]
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...
- Noip2000 T3 单词接龙
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...
- 洛谷 P1019 单词接龙 Label:dfs
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...
- 【wikioi】1018 单词接龙
题目链接 算法:DFS+考你阅题 题目描述: 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中 ...
- NOIP2000 单词接龙
题三. 单词接龙 (27分) 问题描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的 ...
- 1172: 单词接龙(XCOJ 暴力DFS)
1172: 单词接龙 时间限制: 1 Sec 内存限制: 128 MB提交: 12 解决: 5 标签提交统计讨论版 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词 ...
随机推荐
- python 记录linux网速到文件。
import timefrom app.utils_ydf import LogManager logger = LogManager('network_monitor').get_logger_an ...
- ELK日志收集
目前日志的痛点 运维要经常登陆到服务器上拿日志给开发.测试 每次都是出问题后才去看日志,不能提前通过日志预判问题 如果是集群服务,日志将要从多台机器取 开发人员搞出来的日志不规范,没有标准.日志目录不 ...
- Elasticsearch学习之有用博客
推荐阅读:1.阿里:https://elasticsearch.cn/article/61712.滴滴:http://t.cn/EUNLkNU3.腾讯:http://t.cn/E4y9ylL4.携程: ...
- 11.13git和redis
2018-11-13 15:46:40 git完结 redis完结, 还剩一点路飞项目!!!做完回学校!!!! 越努力,越幸运!永远不要高估自己! 关于 redis具体使用可以参考: http://w ...
- RxJava 导入项目配置
在app 的 build.gradle 文件中添加 dependencies { // RxJava 引用implementation 'io.reactivex.rxjava2:rxjava:2.0 ...
- linux操作2
第2天 linux操作系统的目录结构 bin #可执行程序的安装目录,命令boot #系统启动引导目录dev #设备目录,deviceetc #软件配置文件目录home #用户的家目录lib #系 ...
- windows Apache服务器简单配置虚拟域名(转载)
1.找到apache目录下的conf下的extra下的httpd-vhosts.conf虚拟主机配置文件 将下面的代码复制粘贴到最下面: #<VirtualHost *:80># ...
- 17.vue移动端项目二
FilmList.vue 电影列表 <template> <div class="mz-film-list"> <!-- 正在热映 https://m ...
- mac下supervisor安装及简单配置
supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的“服务程序”. 安装 首先安装Python,Mac系统好像自带. 执 ...
- 原生js的remove方法代表删除节点
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...