成语接龙
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 92(17 users) Total Accepted: 23(14 users) Rating:  Special Judge: No
Description
给出N个成语,通过成语接龙,求接出最长龙的成语个数。

每一个成语由至少三个至多8个汉字组成,假设前一个成语的最后一个字和后一个成语的第一个字同样,那么就能够接到一起。

为了将问题简化。每一个汉字用4个字母编码取代。保证每一个汉字的都有唯一的编码。全部字母均为小写字母。且以第一个成语为開始成语, 每一个成语仅仅能够使用一次。


Input
多组測试数据,对每组数据

第一行是一个整数N。代表有N个成语。

接下来N行,每行一个成语。

(N <= 20)

Output
输出最长长度
Sample Input
5

adfkejimejlsgkeh

emiemkwlcuhelmge

gkeheohowehiemie

lmgejoewijfeabcd

emiekejlwejdadfk
Sample Output
4
Source

2014 Winter Holiday Contest 4

注意第一个成语必须是题目给的第一个成语。

。。还有这题真坑啊。假设输入while(cin>>n)一直wa,我也不知道为什么,叉姐说是出题人数据有问题,假设知道为什么的请指点一二。

。。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>
using namespace std;
struct node
{
char tou[5];
char wei[5];
}a[25];
char str[505];
int maxn = 1;
int visit[25];
int n; int dfs(int deep, int sum)
{
if(sum > maxn) maxn = sum; for(int i = 0; i < n; i++)
{ if(!visit[i])
{
int ok = 0;
for(int j = 0; j < 4; j++)
{
if(a[deep].wei[j] != a[i].tou[j])
{
ok = 1; }
} if(!ok)
{
visit[i] = 1;
dfs(i,sum + 1);
visit[i] = 0;
}
}
}
}
int main()
{
#ifdef xxz
freopen("in.txt","r",stdin);
#endif // xxz while(scanf("%d",&n) != EOF)
{ for(int i = 0; i < n; i++)
{
//cin>>str;
scanf("%s",str);
int len = strlen(str);
for(int j = 0; j < 4; j++)
{
a[i].tou[j] = str[j];
a[i].wei[j] = str[len-4+j];
}
}
memset(visit,0,sizeof(visit));
visit[0] = 1;
maxn = 1;
dfs(0,1);
cout<<maxn<<endl;
// printf("%d\n",maxn);
} return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

成语接龙(dfs)的更多相关文章

  1. NOIP2000单词接龙[DFS]

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...

  2. 蓝桥杯—ALGO-18 单词接龙(DFS)

    问题描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, 要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次) ,在两个单词相连时,其 ...

  3. 再谈Weiphp公众平台开发——1、成语接龙插件

    易错点,注意插件的命名 1.创建插件.在weiphp管理后台创建成语接龙插件,勾选安装后立即启用,不需要配置项和管理列表.点“确定”完成插件的创建. 2.安装插件. 3.检测插件是否成功安装.返回到w ...

  4. python——成语接龙小游戏

    小试牛刀的简易成语接龙. 思路—— 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最 ...

  5. Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!

    英语单词学习应用 周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多.本来周末打算照着扇贝/极光单词,写一个英语单词自测工具.但苦 ...

  6. 单词接龙dfs洛谷

    题目传送门:https://www.luogu.org/problem/show?pid=1019#sub 典型的爆搜,每次更新最大龙长度即可 搜索每个字符串编号,与已经连接好的字符串进行比较,以此往 ...

  7. HDU - 1546 ZOJ - 2750 Idiomatic Phrases Game 成语接龙SPFA+map

    Idiomatic Phrases Game Tom is playing a game called Idiomatic Phrases Game. An idiom consists of sev ...

  8. python成语接龙小游戏

    上一篇讲了小游戏的坑现在把源码放出来 #coding:utf-8 import string import pypinyin import sys import random print(" ...

  9. 洛谷 P1019 单词接龙 Label:dfs

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...

随机推荐

  1. C++类的继承实例

    首先由三个类分别为DateType(日期类).TimeType(时间类).DateTimeType(日期时间内).详细代码例如以下: #include <iostream> using n ...

  2. SegmentFault 巨献 1024 程序猿游戏「红岸的呼唤」第三天任务攻略

    第三关也不是一般的难呐,那么继续写一下解题过程(第四关会是什么样呢?). 高速传送门:http://segmentfault.com/game/3 在用我想到的方法(booth算法.矩阵变换.各种CP ...

  3. Oracle11g环境设置-windows环境

    新建环境变量(系统变量),变量名:ORACLE_HOME 变量值:E:\app\Administrator\product\11.2.0\dbhome_1 新建环境变量(系统变量),变量名:ORACL ...

  4. kvm 启动libvirtd市出现错误

    kvm 启动libvirtd市出现错误: /etc/init.d/libvirtd start启动 libvirtd 守护进程:libvirtd: relocation error: libvirtd ...

  5. 『转载』Debussy快速上手(Verdi相似)

    『转载』Debussy快速上手(Verdi相似) Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是 ...

  6. 如何让div横向排列

    方法一: 一般情况,默认的div是写一个换一行,那么如何定义两个div横向排列而不换行呢? div默认的display属性是block.所以每一个div都是新的一行,现在把display换成inlin ...

  7. 错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009)

    启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...

  8. jquery select三级联动

    需求:对地区进行选择,选择相应的省,就会出现相应范围的市,然后出现相应的范围的县区:如果县不存在,就不现实,自我要求是自己写个简单的插件,方便以后调用: 逻辑:1.通过div的类名来获取,其下的sel ...

  9. C# txt文件读写

    //读取文件内容 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出. ]; ]; public void Read() { try { FileStream fil ...

  10. 兼容性之IOS下label 无法点击

    今天做移动端的页面时碰到一个稀奇的问题,那就是点击label无法选中与之相关的checkbox,下面是问题代码: <li class="list-item clearfix notif ...