题解:P13549 热辣滚烫
题意
给出两个字符串
思路
插入的位置把
所以题目可以转化成:求
分别从前往后和从后往前遍历两个字符串,计算出公共前缀的长度和公共后缀的长度,如果两个长度相加大于等于 Yes,否则输出 No。
代码
#include<bits/stdc++.h>
using namespace std;
int f(){
int n,m;
cin>>n>>m;
string a,b;
cin>>a>>b;
int sum1,sum2=0;
for(sum1=0;sum1<n;sum1++){
if(a[sum1]!=b[sum1]){
break;
}
}
for(int a1=n-1,a2=m-1;a1>=0&&a2>=0;a1--,a2--){
if(a[a1]==b[a2]){
sum2++;
}
else{
break;
}
}
if(sum1+sum2>=n){
cout<<"Yes\n";
}
else{
cout<<"No\n";
}
return 0;
}
int main(){
int T;
cin>>T;
while(T--){
f();
}
}