蓝桥杯_翻转_C++

发布时间:2026/10/6 12:19:28
蓝桥杯_翻转_C++ 蓝桥杯_翻转_C题目描述题解解题思路思路代码实现题目描述蓝桥杯_翻转原题链接题解解题思路思路1、S 和 T 都是由 多个0或1组合而成① 数据输入第一行输入一个整数 D 代表有 D 组 S和T 的组合接下来 2D 行 依此代表[T1,S1,T2,S2,…,TD,SD]② 数据处理010 - 000, 101-111可转换。判断 S 是否可以转换为 T若可转换需进行几次 01 变换可通过 S 和 T 的挨个比较来进行判断:若 S[i]T[i] 则继续进行判断。若 S[i]!T[i] 则看S[i] 是否满足转换条件 (S[i]!S[i-1],S[i]!S[i1]) ,满足则转换S[i],最后看S是否与T相等来判断是否可以转换。代码实现#includeiostream// 引入输入输出库#includestring// 引入字符串库usingnamespacestd;// 使用标准命名空间intmain(intargc,charconst*argv[]){intD;// 用于存储测试用例的数量cinD;// 从标准输入读取测试用例数量intflag0;// 初始化一个标识变量这里并未使用// 循环处理每一个测试用例for(inti0;iD;i){string S,T;// 声明两个字符串 S 和 TcinTS;// 从输入读取两个字符串 T 和 SintlenS.size();// 获取字符串 S 的长度// 如果两个字符串相同输出 0表示不需要任何变换if(ST){cout0endl;// 输出 0continue;// 跳过后续代码进入下一次循环}// 如果 S 和 T 的首尾字符不同输出 -1表示无法通过变换匹配if(S[0]!T[0]||S[len-1]!T[len-1]){cout-1endl;// 输出 -1continue;// 跳过后续代码进入下一次循环}intcount0;// 计数器用于记录所需变换的次数// 遍历字符串 S 的中间字符不包括首尾for(inti1;ilen-1;i){// 如果当前字符 S[i] 不等于 T[i]if(S[i]!T[i]){// 检查当前字符 S[i] 的两侧字符是否与其不同if(S[i-1]!S[i]S[i1]!S[i]){// 如果是则将 S[i] 更改为 S[i-1]S[i]S[i-1];count;// 记录变换次数}else{break;// 如果不满足停止变换}}}// 检查经过变换后 S 是否与 T 相等if(ST){coutcountendl;// 输出变换次数}else{cout-1endl;// 输出 -1表示无法匹配}}return0;// 主函数返回 0表示程序正常结束}蓝桥杯_翻转_原题链接欢迎大家和我沟通交流(✿◠‿◠)

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询