原题地址

这道题数据据说比較水,除了第一组数据是Yes以外。其余都是No。非常多人抓住这点就水过了。当然了,我认为那样过了也没什么意思。刷oj刷的是质量不是数量。

这道题从题目上来看是个不错的 搜索题,解法多种多样,有 dfs。bfs,并查集,dijkstra算法都能解决。

题目分析:

题目中给了非常多字符串。可是关心的仅仅是字符串的第一个和最后一个字符。咋看起来。貌似是要建立一个个字符间的“映射”,事实上不然,这事实上能够转化为一张26*26的有向图。

有最多26个结点,原先的字符间映射关系就转化为结点之间有路径。问题就变成了能否找一条路径从结点b到结点m。

我用的dfs解的。

#include<iostream>
#include<cstring>
using namespace std;
bool g[26][26];//全局变量声明时会被初始化为0(false)
bool used[26];//全局变量声明时会被初始化为0(false)
bool dfs(int i)
{
used[1]=true;
for(int j=0;j<26;j++)
{
if(i!=j&&!used[j]&&g[i][j])
{
if(i!=1)
g[1][j]=true;
used[j]=true;
dfs(j);
}
}
return g[1][12];//b为1,m为12
}
int main()
{
char s[100];
while(cin>>s)
{
if(s[0]!='0')
{
int len=strlen(s);
g[s[0]-'a'][s[len-1]-'a']=true;
continue;
}
if(dfs(1))
cout<<"Yes."<<endl;
else
cout<<"No."<<endl;
memset(g,false,sizeof(g));
memset(used,false,sizeof(used));
}
}

hdu1181 dfs搜索之变形课的更多相关文章

  1. hdu1181 (变形课)简单地dfs

    http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=259#problem/F Description 呃......变形课上Harr ...

  2. HDU1181 变形课(DFS) 2016-07-24 13:31 73人阅读 评论(0) 收藏

    变形课 Problem Description 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒 ...

  3. hdu1181 变形课(vector容器+dfs)

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submi ...

  4. HDU1181 变形课 (回溯法)

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submis ...

  5. 变形课(dfs)

    变形课 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total Submissi ...

  6. hdu 1181:变形课(搜索水题)

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submis ...

  7. hdu1181 变形课

    Problem Description 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个 ...

  8. 变形课(DFS hdu 1181)

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submis ...

  9. 变形课--hdu1181

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submis ...

随机推荐

  1. ZOJ3228 Searching the String (AC自动机)

    Searching the String Time Limit: 7 Seconds                                      Memory Limit: 129872 ...

  2. linux下tomcat服务的相关命令

    一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...

  3. 169. Majority Element@python

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  4. MySQL(C#的链接姿势)

    介绍 这篇随笔主要介绍MySQL的基础API的使用姿势 基本使用姿势: 第一步:登陆数据库 string connStr = "Database=start;datasource=127.0 ...

  5. memcached 经典问题或现象

    缓存雪崩现象及真实案例 缓存雪崩一般是由某个缓存节点失效,导致其他节点的缓存命中率下降, 缓存中缺失的数据 去数据库查询.短时间内,造成数据库服务器崩溃. 重启 DB,短期又被压跨,但缓存数据也多一些 ...

  6. React深入 - 手写redux api

    简介: 手写实现redux基础api createStore( )和store相关方法 api回顾: createStore(reducer, [preloadedState], enhancer) ...

  7. LeetCode(42)Trapping Rain Water

    题目 Given n non-negative integers representing an elevation map where the width of each bar is 1, com ...

  8. 洛谷P4779 Dijkstra 模板

    这道题很久之前做过 今天复习(复读)一遍 有疑问的就是pair的专属头文件#include<utility> 但是据说iostream和vector等已经包含了这个 #include< ...

  9. grunt 使用比较

    http://www.cnblogs.com/yexiaochai/p/3603389.html 最全的uglify使用DEMO http://www.cnblogs.com/artwl/p/3449 ...

  10. mongodb 的创建和使用

    1. sudo apt-get install mongodb 2. 登陆数据库: mongo, 3. 创建数据库:use dbname 4. 插入数据: db.dbname.insert({&quo ...