hdu4545 魔法串
2015-09-29 21:21
239 查看
魔法串
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1846 Accepted Submission(s): 692
Problem Description
小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小明的串和小西的变成同一个,那么他们两个人都会很开心。这里魔法指的是小明的串可以任意删掉某个字符,或者把某些字符对照字符变化表变化。如:
小西的串是 abba;
小明的串是 addba;
字符变化表 d b (表示d能转换成b)。
那么小明可以通过删掉第一个d,然后将第二个d转换成b将串变成abba。
现在请你帮忙判断:他们能不能通过魔法转换使两个人的串变成一样呢?
Input
首先输入T,表示总共有T组测试数据(T <= 40)。
接下来共T组数据,每组数据第一行输入小西的字符串,第二行输入小明的字符串(数据保证字符串长度不超过1000,小明的串的长度大于等于小西的,且所有字符均为小写字母)。接着输入字母表,先输入m,表示有m个字符变换方式(m< = 100),接着m行每行输入两个小写字母,表示前一个可以变为后一个(但并不代表后一个能变成前一个)。
Output
对于每组数据,先输出Case数。
如果可以通过魔法转换使两个人的串变成一样,输出“happy”,
否则输出“unhappy”。
每组数据占一行,具体输出格式参见样例。
Sample Input
2 abba addba 1 d b a dd 0
Sample Output
Case #1: happy Case #2: unhappy
Source
2013金山西山居创意游戏程序挑战赛——初赛(1)
Recommend
liuyiding | We have carefully selected several similar problems for you: 5493 5492 5491 5490 5489
Statistic | Submit | Discuss | Note
同学问我的。根据她的代码改的。
#include<stdio.h> #include<string.h> char stra[1010],strb[1010],a[110],b[110]; int main(){ int t,num=0,alen,blen,m,i,j,n; scanf("%d",&t); while(t--) { int k=0,flag=1; num++; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); scanf("%s %s",stra,strb); alen=strlen(stra); blen=strlen(strb); scanf("%d",&m); while(m--) { scanf(" %c %c",&b[k],&a[k]); k++; } int flag2; for(i=0,j=0;i<alen&&j<blen;) { flag2=0; if(stra[i]!=strb[j]) { for(n=0;n<k;n++) { if(strb[j]==b &&stra[i]==a ) { i++,j++,flag2=1; break; } } if(!flag2) j++; } else i++,j++; } if(i==alen) printf("Case #%d: happy\n",num); else printf("Case #%d: unhappy\n",num); } return 0; }
相关文章推荐
- Java中的运算符
- 设置dt height 保证dd在同一行
- 【POJ 3007】 Organize Your Train part II (字符串HASH)
- iOS关于通讯录的实现
- PickView简单的依赖
- 自定义控件之_自定义圆形进度条
- JAXB 实现JavaBean与xml互转(二)-封装
- 模态推出 tableView 时不使其全屏
- 黑马程序员----C 语言学习笔记之枚举类型和typedef关键字
- 自定义一个类加载器
- 个人博客作业-Week2 (代码规范, 代码复审)
- ToggleButton学习
- Ural 1114 Boxes
- 软工文档
- MySQL权限管理
- 因子和阶乘
- 某某2016笔试题
- fork函数与vfork函数的区别与联系详解
- JavaScript高级程序设计之函数表达式之闭包第7.2讲笔记
- python--sum函数--sum(axis=1)