思路:先把s串匹配到t串中,匹配的时候得从t串第一个开始,然后遍历一遍t串,看没有匹配的字母中,如果他前面都和它相同,就输出No
#include #include #include #include #include #include using namespace std; #define ll long long #define maxn 5110 #define inf 1e9 char s[maxn],t[maxn],vis[maxn]; int main() { scanf("%s",s+1); scanf("%s",t+1); int lens=strlen(s+1),lent=strlen(t+1); int i=1,j=1; for(;i<=lens;i++) { if(j>lent) break; for(;j<=lent;j++) { if(s[i]==t[j]) { vis[j]=1; j++; break; } } } int sum[250]={0}; if(i<=lens||vis[1]==0) { printf("Non"); } else { int flag=0; for(int i=1;i<=lent;i++) { sum[t[i]]++; if(vis[i]==0) { if(t[i]==t[i-1]) { if(i-2==sum[t[i]]-2) { flag=1; break; } } } } if(flag==0) printf("Yesn"); else printf("Non"); } }
上一篇 虚拟化专栏11
下一篇 composer
版权所有 (c)2021-2022 MSHXW.COM
ICP备案号:晋ICP备2021003244-6号