PTA 7-3 4103 All in All

给定两个字符串s和t,判断s是否是t的子序列。即从t中删除一些字符,将剩余的字符连接起来,即可获得s。

输入格式:

输入文件包括多组测试数据,每组测试数据占一行,包括两个由ASCII码组成的字符串s和t,它们的长度都不超过100000。

输出格式:

对于每个测试数据输出一行,如果s是t的子序列,则输出“Yes”,否则输出“No”。

输入样例:

sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter

输出样例:

Yes
No
Yes
No

解题代码:

#include <stdio.h>
#include <string.h>
int main()
{
	int i,j;
	char a[100000],b[100000];
	while(scanf("%s %s",a,b)!=EOF)
	{
		for(i=0,j=0;a[i]!='\0';i++)
		{
			for(;b[j]!='\0';j++)
				if(a[i]==b[j])
					break;
			if(j==strlen(b))
				break;
		}
		if(i<strlen(a)-1)
			printf("No\n");
		else
			printf("Yes\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_63249578/article/details/128733962
ALL