题目大意:
有两个字符串,让你调换任意一个字符,看有几种方法能凑成连续三个的。
思路:
直接模拟调换,看有几种匹配,匹配就累加。
C o d e : Code: Code:
#include<cstdio>
#include<iostream>
using namespace std;
string s,t;
int ans[100001],sum[100001],num;
int main()
{
// freopen("a.in","r",stdin);
// freopen("a.out","w",stdout);
cin>>s;
cin>>t;
int a=s.size();//求长度
int b=t.size();
for(int i=1;i<a-1;++i)//枚举s
for(int j=1;j<b-1;++j){//枚举t
if(s[i-1]==s[i+1])//前一个和后一个
if(t[j-1]==t[j+1])
if(t[j]==s[i-1]&&s[i]==t[j-1])//符合调换
num++;}//累加
printf("%d",num);
return 0;
}