寄居蟹與海葵

寄居蟹與海葵

Time Limit: 1000MS Memory limit: 65536K

題目描述

寄居蟹與海葵是一對合作互助的共棲夥伴。海葵是寄居蟹最稱職的門衛。它用有毒的觸角去蜇那些敢來靠近它們的所有動物,保護寄居蟹。而寄居蟹則揹着行動困難的海葵,四出覓食,有福同享。
但並不是所有寄居蟹和海葵都可以做搭檔的。那就要看海葵的身體是不是符合寄居蟹的螺殼。
海葵的身體是有褶皺的,而寄居蟹的螺殼同樣凹凸不平,我們可以用一個大寫字母組成的字符串來表示它們的高低程度,其中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

提示

 

來源

ZJGSU

示例程序

這道題是集訓的第一天的練手題,本來是那個找零錢的,咋也沒啃下來。這道題當時if(i==k2-1&&lon==155) {flag1=1;flag=0;}寫成if(i=k2-1&&lon==155) {flag1=1;flag=0;}愣是半天沒找到哪錯了!!客氣,你發現了嗎看==和=。

#include<stdio.h>
#include<string.h>
int main()
{
	int i,j,k1,k2,flag,lon,flag1;
	char st1[100000],st2[100000];
	while(scanf("%s%s",st1,st2)!=EOF)
	{
		flag=1;
		if(st1[0]=='0'&&st2[0]=='0') break;
		k1=strlen(st1);
		k2=strlen(st2);
		
		j=0;
		for(i=0;i<=k2-1;i++)
		{
			flag1=0;
			for(j=j;j<=k1-1&&flag1==0;j++)
			{
			lon=(st1[j]+st2[i]);
			//if(lon!=155) flag=1;
				if(i==k2-1&&lon==155) {flag1=1;flag=0;}
		        else	if(lon==155) flag1=1;
				else flag1=0;
		
			
			}
		}
	
        //if(k2>k1) flag=1;
		if(flag==0) printf("Yes\n");
		else printf("No\n");
		
		
	}
	return 0;
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章