博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeVS 1018 单词接龙(DFS)
阅读量:7291 次
发布时间:2019-06-30

本文共 1257 字,大约阅读时间需要 4 分钟。

题目大意:

 注意每个单词可以用两次,因为一个单词用一遍只取到了头,还要再用一遍单词取到尾。

代码:

#include 
using namespace std;int n;bool visit[100] = {
false};char ch;int res = 0,maxn = 0;string str[100];using namespace std;void dfs(int a){ for(int i = 0; i < 2*n; i++){ if(visit[i] == false){ int step = min(str[a].length(),str[i].length()); for(int j = 1 ; j < step; j++){ if(str[a].substr(str[a].length() - j, j) == str[i].substr(0,j)){ res = res + str[i].length()-j; visit[i] = true; maxn = max(res,maxn); dfs(i); res = res - str[i].length() + j; visit[i] = false; } } } }}int main(){ cin >> n; for(int i = 0; i < 2*n; i+=2){ cin >> str[i]; str[i+1] = str[i]; } cin >> ch; for(int i = 0; i < 2*n; i++){ if(str[i][0] == ch){ visit[i] = true; res = res + str[i].length(); maxn = max(maxn,res); dfs(i); visit[i] = false; res = res - str[i].length(); } } cout << maxn << endl; return 0;}

 

转载于:https://www.cnblogs.com/zyqBlog/p/7641541.html

你可能感兴趣的文章
数据库命令大全(也不是很全哈)
查看>>
鼠标变小手的方式
查看>>
20111124
查看>>
HierarchyId 与.Net Framework 4.5.3报错
查看>>
强大的ldd
查看>>
SpringMVC知识(1)
查看>>
Xshell 常用命令
查看>>
理解JavaScript的prototype和__proto__
查看>>
Ubuntu 10.04下编译安装Bochs 2.6及问题解决
查看>>
Java学习笔记:语言基础
查看>>
gulp 入门
查看>>
php验证手机号码
查看>>
POJ Problem 1423 Big Number 【stirling公式】
查看>>
AT2377 Blue and Red Tree
查看>>
监督学习——AdaBoost元算法提高分类性能
查看>>
通过ASP.NET Ajax技术模拟实现NBA比赛文字直播功能
查看>>
[数学建模(三)]遗传算法与旅行商问题
查看>>
Linux上文件恢复工具
查看>>
关于开发环境无法运行applet
查看>>
9 完整的用户注册登录实例
查看>>