hdu5414CRB and String 模拟



//给两个字符串s和t
//对于字符串s可以在s中任意一个字符c,在其后面加上d(d!=c)
//问s是否能转换为t
//满足两个条件
//1:对于s中的所有的字符t都有
//2:对于s和t的第一个字符要相同且s中连续的个数要大于等于t
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
const int maxn = 1e5+10 ;
char str1[maxn] , str2[maxn] ;
int main()
{
   // freopen("in.txt" , "r" , stdin) ;
    int t ;
    scanf("%d" ,&t) ;
    while(t--)
    {
        scanf("%s%s" , str1 , str2) ;
        int len1 = strlen(str1) ;
        int len2 = strlen(str2) ;
        int t1 = 0 , t2 = 0;
        bool flag = false ;
        while(str1[t1] == str1[t1+1])t1++ ;
        while(str2[t2] == str2[t2+1])t2++ ;
        if(str1[0] != str2[0] || t1 < t2)flag = true ;
        t1 = 0 , t2 = 0 ;
        while(t1 < len1 && t2 < len2)
        {
            while(str2[t2] != str1[t1])
            if(t2 + 1 > len2){flag = true ;break ;}
            else
            t2++ ;
            t1++ , t2++ ;
        }
        if(t1 < len1 && t2 > len2)flag = true ;
        if(!flag)puts("Yes") ;
        else puts("No") ;
    }
    return  0 ;
}




你可能感兴趣的:(hdu5414CRB and String 模拟)