[UVA-10340] All in All

这个比较简单(相对于前几个题来讲)。

思路

从短的序列的首位开始,一直与长序列相对比,按顺序来,避免了排序的麻烦

代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define max 1000000
char s[max];
char t[max];
int contain(char s[],char t[])
{
    int sum;
    int i,j,c;
    int m,n;
    m=strlen(s);
    n=strlen(t);
    c=0;
    sum=0;
    i=0;
    for(j=c; j<n; j++)
    {
        if(s[i]==t[j])
        {
            c=j;
            sum++;
            i++;
            continue;

        }
    }



    if(sum==m)
        return 1;
    else
        return 0;
}
int main()
{
    int i,j,m,n,len1,len2;
    int* mm;

    while(scanf("%s %s",s,t)!=EOF)
    {
        len1=strlen(s);
        len2=strlen(t);
        if(len1>len2)
        {
            printf("No\n");
        }
        else
        {
            if(contain(s,t))
            {


                    printf("Yes\n");

            }
            else
                printf("No\n");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43360152/article/details/87469123
ALL