寒假训练--训练赛2--加密术

加密术

Time Limit: 1000MS Memory limit: 65536K

题目描述

加密技术是一种常用的安全保密手段,利用加密技术可以把重要的数据变成经过加密变成乱码传送,到达目的地后再利用解密手段还原。现在我们发明了一种新的加密技术,即通过在一个字符串的任意位置插入若干个随机生成的字符(‘a’~’z’或’A’~’Z’)对该字符串加密。
我们想要申请专利,但在这之前,需要做大量的检测。所以有必要编写一个程序判断加密后的字符串经过解密是否是加密前的字符串,即从加密后的字符串中删除若干个字符后剩下的字符串是否可以拼接成加密前的字符串。Can you help us ?

输入

输入包含多组,每组输入两个串(只包含大小写字母)S,T,中间用空格分开。S和T的长度不超过100000。

输出

对于每组输入,如果加密后的字符串解密后与加密前的字符串相同输出“Yes”,否则输出“No”。

示例输入

string  Strstring
HELLO  sdhfHqEiweqLbnLOqwerty
nomatter  nsomatstr
friend  FriEendly

示例输出

Yes
Yes
No
No

提示

 水题

来源

pyn

示例程序
#include <stdio.h>
#include <string.h>
char str1[110000] , str2[110000] , str[110000] ;
int main()
{
    int i , j , li , lj ;
    while(scanf("%s%s", str1,str2)!=EOF)
    {
        li = strlen(str1);
        lj = strlen(str2);
        if(li > lj)
        {
            strcpy(str,str2);strcpy(str2,str1);strcpy(str1,str);
        }
        for(j = 0 , i = 0 ; str2[j] != '\0' && str1[i] != '\0' ; )
        {
            if(str1[i] == str2[j])
            {
                i++ ; j++;
            }
            else
                j++;
        }
        if(str1[i]=='\0')
            printf("Yes\n");
        else
            printf("No\n");
        memset(str1,0,sizeof(str1));
        memset(str2,0,sizeof(str2));
    }
    return 0;
}

你可能感兴趣的:(寒假训练--训练赛2--加密术)