博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1181 变形课
阅读量:5118 次
发布时间:2019-06-13

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

题目连接

  

变形课

Description

呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. 

Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.

Input

测试数据有多组。每组有多行,每行一个单词,仅包括小写字母,是Harry所会的所有咒语.数字0表示一组输入结束.

Output

如果Harry可以完成他的作业,就输出"Yes.",否则就输出"No."(不要忽略了句号)

Sample Input

so

soon
river
goes
them
got
moon
begin
big
0

Sample Output

Yes.

建图,遍历。。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 using std::map;10 using std::cin;11 using std::cout;12 using std::endl;13 using std::find;14 using std::sort;15 using std::pair;16 using std::queue;17 using std::vector;18 using std::multimap;19 #define pb(e) push_back(e)20 #define sz(c) (int)(c).size()21 #define mp(a, b) make_pair(a, b)22 #define all(c) (c).begin(), (c).end()23 #define iter(c) decltype((c).begin())24 #define cls(arr,val) memset(arr,val,sizeof(arr))25 #define cpresent(c, e) (find(all(c), (e)) != (c).end())26 #define rep(i, n) for (int i = 0; i < (int)(n); i++)27 #define tr(c, i) for (iter(c) i = (c).begin(); i != (c).end(); ++i)28 const int N = 26;29 bool vis[N], G[N][N];30 typedef unsigned long long ull;31 void bfs(int s) {32 cls(vis, false);33 queue
q;34 q.push(s);35 vis[s] = true;36 while (!q.empty()) {37 int v = q.front(); q.pop();38 rep(i, N) {39 if (!G[v][i] || vis[i]) continue;40 q.push(i);41 vis[i] = true;42 }43 }44 puts(vis['m' - 'a'] ? "Yes." : "No.");45 }46 int main() {47 #ifdef LOCAL48 freopen("in.txt", "r", stdin);49 freopen("out.txt", "w+", stdout);50 #endif51 char buf[40];52 while (~scanf("%s", buf)) {53 if (buf[0] != '0') {54 G[buf[0] - 'a'][buf[strlen(buf) - 1] - 'a'] = true;55 } else {56 bfs(1);57 cls(G, false);58 }59 }60 return 0;61 }
View Code

转载于:https://www.cnblogs.com/GadyPu/p/4649446.html

你可能感兴趣的文章
【Java】判断IP是否内网(使用正则表达式)
查看>>
android 调用.NET WebServices
查看>>
cv论文(Low-rank相关)
查看>>
坚持这个流程
查看>>
WPF中INotifyPropertyChanged用法与数据绑定
查看>>
马达回零原理
查看>>
bzoj 3140: [Hnoi2013]消毒
查看>>
通过实践学习Shell(做腾讯百度淘宝shell面试题 以及切割分析日志)
查看>>
DWZ切换每页显示数量时跳转至首页问题的解决
查看>>
js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号
查看>>
几种常见的网站程序的数据库配置文件路径
查看>>
hdu 1421 DP
查看>>
排它锁 共享锁的区别
查看>>
linux eclipse 报错过时的方法
查看>>
强连通分图
查看>>
[CH5302]金字塔
查看>>
Xcode8 适配iOS10时遇见的一些问题
查看>>
RPD Volume 172 Issue 1-3 December 2016 评论03
查看>>
HTML标签汇总
查看>>
ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法
查看>>