hdu 1181 变形课
来源:互联网 发布:卖家如何做淘宝客 编辑:程序博客网 时间:2024/04/29 14:37
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1181 点击打开链接
题意:每一个输入的字符串,记录第一个和最后一个字母,然后深搜
注意:多组数据
Problem Description
呃......变形课上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.Harry 可以念这个咒语:"big-got-them".HintHint
#include <stdio.h>#include <string.h>#define maxn 10005bool vis[maxn];typedef struct { char head, ends;}oo;oo map[maxn];char input[maxn],ans[maxn];int p = 0, counts = 0;void dfs(int t){ if (p == 1) return; if (ans[t - 1] == 'm'){ p = 1; return; } if (t == 0){ for (int i = 0; i < counts; i++){ if(vis[i] == 1) continue; if (map[i].head == 'b'){ vis[i] = 1; ans[t] = map[i].ends;// printf("ans[%d] = %c\n", t, ans[t]); dfs (t + 1); vis[i] = 0; } } } if (t != 0 && t <= counts){ for (int i = 0; i < counts; i++){ if(vis[i] == 1) continue; if (map[i].head == ans[t - 1]){ vis[i] = 1; ans[t] = map[i].ends;// printf("ans[%d] = %c\n", t, ans[t]); dfs (t + 1); vis[i] = 0; } } }}int main(){ while (scanf("%s", input)!=EOF){ counts = 0; p = 0; if (input[0] == '0'){ printf("No.\n"); continue; } int len = strlen(input); map[0].head = input[0]; map[0].ends = input[len - 1]; counts = 1; while (scanf("%s", input) != EOF){ if (input[0] == '0') break; int len = strlen(input); map[counts].head = input[0]; map[counts].ends = input[len - 1]; counts ++; memset(input , 0, sizeof(input)); } dfs(0); if (p == 0) printf("No.\n"); else printf("Yes.\n"); }}
0 0
- 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 变形课
- HDU 1181【变形课】
- hdu-1181-变形课
- HDU 1181 变形课
- hdu 1181 变形课
- 输入字符串判断是否含有“ould”
- 宁波市专业一体化客户流程管理系统(广告公司版)
- 第九周 项目一
- 借口来交罚款金额可健康
- [漏洞分析] Codiad 2.5.3本地文件包含漏洞
- hdu 1181 变形课
- Linux下的makefile的妙用
- 关于Socket一对一通信
- MySQL命令行导出数据库
- linux平台学x86汇编(十一):字符串的传送
- 液晶电视生产厂家-液晶电视批发厂家
- C#获取js存的cookie
- Java对象的串行化(Serialization)
- Java程序员的工具组合