寄居蟹与海葵
来源:互联网 发布:电商美工岗位说明书 编辑:程序博客网 时间:2024/04/29 16:06
寄居蟹与海葵
描述
寄居蟹与海葵是一对合作互助的共栖伙伴。海葵是寄居蟹最称职的门卫。它用有毒的触角去蜇那些敢来靠近它们的所有动物,保护寄居蟹。而寄居蟹则背着行动困难的海葵,四出觅食,有福同享。
但并不是所有寄居蟹和海葵都可以做搭档的。那就要看海葵的身体是不是符合寄居蟹的螺壳。
海葵的身体是有褶皱的,而寄居蟹的螺壳同样凹凸不平,我们可以用一个大写字母组成的字符串来表示它们的高低程度,其中A代表0,B代表1,依次类推。我们称两者相加等于25的就算是吻合,比如A和Z相吻合,B与Y吻合,依次类推。
只要海葵身体的部分序列与寄居蟹外壳的序列相吻合,就称他们可以一起生活。
比如:
1.海葵的褶皱是"ABCDEFG",寄居蟹是"ZYXWVUT"。这样,它们就可以完全吻合了。
2.海葵的褶皱是"AHBICJDKELFMGN",寄居蟹是"ZYXWVUT"。这样,寄居蟹可以和海葵的部分序列"ABCDEFG"相吻合 (注意:部分序列不改变字符原来的先后顺序,比如"ACB"就不是它的部分序列)。
3.海葵的褶皱是"ABCD",寄居蟹是"ZYXWVUT"。这样,虽然海葵可以和寄居蟹前面一段完全吻合,但它比寄居蟹要小,不能完全保护寄居蟹的安全,所有它们是不适合的。
4.海葵的褶皱是"HIJKLMNOPQ",寄居蟹是"ZYXWVUT"。这样,它们就可以完全不吻合了。
现给你两段字符串S1、S2,分别代表海葵和寄居蟹的外壳,为了它们以后各都能快乐地生活,请你帮忙计算一下它们是不是吻合的。
输入
输入包括多组测试数据。
每组测试数据包括两个字符串H、J,分别代表海葵的外壳和寄居蟹的外壳。可以保证它们的长度都小于100000。
输入以0 0结束。
输出
如果寄居蟹和海葵的外壳能吻合,就输出"Yes",否则输出"No"。
样例输入
ABCDEFG ZYXWVUT
AHBICJDKELFMGN ZYXWVUT
ABCD ZYXWVUT
HIJKLMNOPQ ZYXWVUT
0 0
样例输出
Yes
Yes
No
No
思路:
主要就是比较长度的问题,还有比较合不合适的问题。
关键的地方就是,他们的字符数的ASCII值为‘A'+’z'的值。
代码:
#include<stdio.h>#include<string.h>int main(){char a[100000],b[100000];int len,len1,i,t;while(scanf("%s%s",&a,&b)!=EOF){len=strlen(a);len1=strlen(b);if(len==1 && len1==1 && a[0]=='0' && b[0]=='0')break;if(len<len1){printf("No\n");}else{if(len==len1){for(i=0;i<len1;i++){if((a[i]+b[i])!=('A'+'Z'))break;}if(i==len1){printf("Yes\n");}else{printf("No\n");}}else{t=0;for(i=0;i<len;i++){if((a[i]+b[t])==('A'+'Z'))t++;}if(t==len1){printf("Yes\n");}else{printf("No\n");}}}}return 0;}
- 寄居蟹与海葵
- 寄居蟹与海葵
- 寄居蟹与海葵
- 寄居蟹与海葵
- 寄居蟹与海葵
- 寄居蟹与海葵
- 寄居蟹与海葵
- 寄居蟹与海葵
- oj1904: 寄居蟹与海葵
- 寄居蟹与海葵
- ytu1904——寄居蟹与海葵
- OJ刷题之《寄居蟹与海葵》
- 寄居蟹和海葵
- 寄居蟹
- 代码的寄居蟹
- 与
- 与
- “” 与 “”
- USCAO-Section1.2 Transformations
- 常考算法与数据结构--面试准备
- in 和 exist 区别
- 交换排序算法:冒泡排序-Bubble Sort
- Unity3D的单例框架以及单例框架的使用
- 寄居蟹与海葵
- Android实现搜索附近WiFi并显示在视图中
- android studio中?attr报错的问题
- spring cloud组件大概介绍
- pat 05-树9 Huffman Codes
- Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip 【线性DP】
- C++算法学习——预备知识(4)——异常处理(1)
- 使用Jpython调用跑一python
- [hackinglab] 脚本关5 逗比验证码第一期