代码拉取完成,页面将自动刷新
//思路,满足三个性质: 1:不可逆性,101在变成111的时候,111是不可能恢复成101的 2:不可能对连续的两个字符同时进行操作 3:字符串想通过位置的字符不同时必须要改变,相同的字符必须不改变,即不做任何操作 #include<bits/stdc++.h> using namespace std; const int N=1e6+10; char s[N],t[N]; int main() { int T; cin>>T; while(T--) { scanf("%s%s",t,s); int n=strlen(s); int res=0; for(int i=0;i<n;i++) { if(s[i]!=t[i]) { if(!i||i==n-1||s[i]==s[i-1]||s[i]==s[i+1]) { res=-1; break; } res++; s[i]=t[i]; } } printf("%d\n",res); } return 0; }
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。