解题思路:
注意事项:
参考代码:
#include<iostream> using namespace std; typedef long long ll; int main() { int d,sum=0,op=1; string t,s; cin>>d; int d_ = d;//记录d后面输出ans结果用 int ans[d];//记录各组值 while(d--){ cin>>t; cin>>s; if(t[0]!=s[0]||t[t.length()-1]!=s[s.length()-1]){ //先判断首尾,首尾不同就可以直接返回-1 ans[d]=-1; continue; } //对s字符串逐字比对 for(int i=1;i<s.length()-1;i++){ if(s[i]==t[i]) continue; else if(s[i]!=t[i]){//出现需要翻转的地方 //是否满足i前[i-1]后[i+1]值一致且 是否等于t[i] if(s[i+1]==t[i+1]&&s[i+1]==s[i-1]&&s[i+1]==t[i]){ s[i]=t[i]; sum++;//翻转次数加1 } else{//无法通过翻转条件 ans[d]=-1; op=0;//防止后面再次计入ans数组的管理变量 break; } } } if(op) {//防止覆盖-1 ans[d]=sum; } sum=0; op=1; } for(int i=d_-1;i>=0;i--){ cout<<ans[i]<<endl; } return 0; }
0.0分
1 人评分
C二级辅导-求偶数和 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:575 |
妹子杀手的故事 (C语言代码)浏览:1297 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:626 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1267 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
【金明的预算方案】 (C++代码)浏览:873 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1368 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:934 |