暑假集训第三周第二阶段 搜索 D - 变形课
来源:互联网 发布:sql server复制表结构 编辑:程序博客网 时间:2024/05/16 06:26
D - 变形课
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uDescription
呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.
Input
测试数据有多组。每组有多行,每行一个单词,仅包括小写字母,是Harry所会的所有咒语.数字0表示一组输入结束.
Output
如果Harry可以完成他的作业,就输出"Yes.",否则就输出"No."(不要忽略了句号)
Sample Input
sosoonrivergoesthemgotmoonbeginbig0
Sample Output
Yes.
本题应该还是用到深搜,找到最短路径就可以结束递归,结束搜索了
这题是只要有符合条件的就好,不用管有多少种方案,所以不用遍历全图
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
#include<stdio.h>#include<string>#include<iostream>#include<string.h>#include<algorithm>using namespace std;struct{ char begin,end;} a[1010];int i,j,t,v[1010];int DFS(char c){ if(c=='m') { t=1; printf("Yes.\n"); return 1; } for(int k=0; k<i; k++) if(a[k].begin==c&&v[k]==0) { v[k]=1; DFS(a[k].end); v[k]=0; } return 0;}int main(){ string b; while(cin>>b) { t=0,i=0; memset(v,0,sizeof(v)); while(b!="0") { j=b.size(); a[i].begin=b[0]; a[i].end=b[j-1]; i++; cin>>b; } DFS('b'); if(t==0) printf("No.\n"); } return 0;}
0 0
- 暑假集训第三周第二阶段 搜索 D - 变形课
- 暑假集训第三周第二阶段 搜索 B - 免费馅饼
- 暑假集训第三周第二阶段 搜索 F - 棋盘问题
- 暑假集训第三周第二阶段 搜索 J - 放苹果
- 暑假集训第三周第二阶段搜索 G - 迷宫问题
- 暑假集训第三周第二阶段搜索 H - Zipper
- 暑假集训第三周 STL D - 排列
- 大暑假集训 第二阶段
- 暑假集训第三周
- 暑假集训第三周周三赛 STL D - 产生冠军
- csu-acm2017暑假集训2-二分搜索D
- CSU-ACM2017暑假集训2-二分搜索 D
- 暑假集训第三周 STL 双队列
- 暑假集训第三周 STL 网页浏览器
- 【暑假集训专题#搜索】
- 暑假集训-搜索
- 2017暑假第二阶段第三场 总结
- 2014暑假集训搜索专题
- STM8出现如下问题的解决方案
- 面试准备--计算机网络(二)
- js多行文本的处理方法
- Android远程服务一:android AIDL远程服务调用
- 微信公众账号 点击返回页面刷新页面得到两个相同的code导致程序报错的问题
- 暑假集训第三周第二阶段 搜索 D - 变形课
- PHP实现下载文件功能
- 背包问题九讲笔记_完全背包
- hdu 4746 Mophues 莫比乌斯反演
- Eclipse安装testng失败,提示MD5值错误
- 原生sql 查clob字段,查出的结果是string类型
- 封装的AlertDialog
- 单例模式
- UITableView - 2