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 标签提交统计讨论版 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词 ...
随机推荐
- linux java 安装
对于java的开发,有openJDK 和 orcale jdk两种,大多数的linux 系统都会内置openjdk的安装包,但是大多数java项目的开发都是基于orcale jdk的,所以安装orca ...
- jq 日期区间处理
<html lang="en"><head> <meta charset="UTF-8"> <title>Tit ...
- JavaScript学习历程03
一闪一闪亮晶晶 <script type="text/javascript"> var nn = Number(prompt('请输入一个1-9的正整数!')); va ...
- Flutter & Dart 安装在window系统
一.系统环境 flutter最低要求 1,windows7 SP1 64位版本以上,我的系统就是windows 7 sp1 64bit 2,git for windows ,没有安装的需要到这里下载 ...
- npm太慢, 修改npm镜像
今天晚上想要将clone下来的项目进行npm install,但是等了半天都没动 查看源 npm config get registry 或 npm config list https://regis ...
- PHP 正则 空字符 / NUL字符
\xnn 匹配中ASCII代码十六进制代码为nn的字符.[\x00-\x7F] 匹配ASCII值从0-127的字符.0-127表示单字节字符,也就是:数字,英文字符,半角符号,以及某些控制字符. 正则 ...
- Unity长连接
http://blog.csdn.net/claine/article/details/52374546
- Qt编写高仿苹果MAC电脑输入法(支持触摸滑动选词)
最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前的输入法高仿了一个,由于之前有做过输入法这块的开发,而且改进了四年,各种需求都遇 ...
- IDEA多个服务打断点 各服务乱窜的问题
Setting --> Build, Execution, Deployment --> Debugger 选中即可
- 分布式事务TransactionScope
分布式事务TransactionScope 以下是分布式事务的所有情况的例子了,包含了事务套事务,事务套存储过程事务,经过测试,TransactionScope对于分布式事务的各种情况支持的很好. 使 ...