1181:变形课
来源:互联网 发布:sql 别名 后续能否使用 编辑:程序博客网 时间:2024/05/19 14:55
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1181
方法:bfs
思路:题目要求寻找到有这样的咒语即可,所以用bfs就可以。不过本体的bfs比较特殊,并不是很符合套路,但是仍然可以按照模板写出。重点在与flag在什么位置清零,j在每一组数据完成之后一定要清零,另外还要注意mark数组一定要有,如果不标记,那么就会出现堆栈溢出的情况,因为很有可能一个单词开头结尾相同,那么他将无休止的调用自己。
难点:flag和索引清零的位置。
#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int MAX = 1000000;bool flag = 0;int i = 0;bool mark[MAX];struct Word{ char s; char e;}w[10000];void dfs(Word m){ if(m.e == 'm') { flag = 1; return; } for(int j = 0;j < i;j++) { if(m.e == w[j].s && mark[j] == 0) { mark[j] = 1; dfs(w[j]); mark[j] = 0; } }}int main(){ string s; while(cin>>s) { if(s == "0") { memset(mark,0,sizeof(mark)); for(int j = 0;j < i;j++) { if(w[j].s == 'b') { dfs(w[j]); } } if(flag == 1) cout<<"Yes."<<endl; else cout<<"No."<<endl; flag = 0; i = 0; } else { w[i].s = s[0]; w[i].e = s[s.length()-1]; i++; } }}
0 0
- HDOJ 1181变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- 变形课 hdu 1181
- hdu-1181-变形课
- HDU 1181 变形课
- HDU 1181 变形课
- 变形课(1181)
- HDU 1181【变形课】
- hdu-1181-变形课
- DMA(一) - 内核sysdev DMA控制器设备
- iperf命令备注
- PAT1002 写出这个数
- JavaScript 控制元素隐藏显示
- android进程间通讯方式
- 1181:变形课
- hdu 5477__A Sweet Journey
- 经典图书清单
- iOS讲解迷惑深入浅出之复杂对象的归档
- 软件测试过程及其管理
- 多对多LCP和最大 Trie DFS CodeForces - 566A Matching Names
- IT职场求生法则-----我在IT职场打滚超过15年了,从小小的程序员做到常务副总
- openlayers2中selectcontrol用法
- 7. --SQLite 专属的整体查找