关闭

POJ 1936 All in All(水~)

190人阅读 评论(0) 收藏 举报
分类:

Description
在第二个串中找第一个串
Input
多组输入,每组两个字符串,以文件尾结束
Output
对于每组输入,如果在第二个串中找到第一个串则输出Yes,否则输出No
Sample Input
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter
Sample Output
Yes
No
Yes
No
Solution
简单字符串匹配
Code

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,len1,len2,flag;
    char s1[100002],s2[100002];
    while(scanf("%s",s1)!=EOF)
    {
        scanf("%s",s2);
        flag=0;
        len1=strlen(s1);
        len2=strlen(s2);
        if(len2>=len1)//第二个串不能比第一个串短 
        {
            j=0;
            for(i=0;i<len1;i++)//对于串一的每个字符在串二中找匹配 
            {
                for(;j<len2;j++)
                    if(s2[j]==s1[i])
                    {
                        flag++;
                        j++;
                        break;
                    }
            }
            if(flag==len1)//串一字符全部匹配 
                printf("Yes\n");
            else//串一字符不全匹配 
                printf("No\n");
        }
        else//串一比串二长,显然不满足条件 
            printf("No\n");
    }
    return 0;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:391027次
    • 积分:20182
    • 等级:
    • 排名:第426名
    • 原创:1692篇
    • 转载:0篇
    • 译文:0篇
    • 评论:64条
    最新评论