当前位置: 首页 > article >正文

蓝桥杯真题 - 翻转 - 题解

题目链接:https://www.lanqiao.cn/problems/3520/learning/

个人评价:难度 1 星(满星:5)
前置知识:无


整体思路

  • 贪心,除了第一位跟最后一位,其它字符,每当 S [ i ] ≠ T [ i ] S[i] \neq T[i] S[i]=T[i] 时,能换则换;
  • 为什么可以贪心?
    • 因为如果某段连续的数字为 101 101 101 或者 010 010 010,在被修改之后变为 111 111 111 或者 000 000 000,此时这三个数字都无法再被修改,所以连续的满足修改条件的数字只能被修改一次;
    • S S S 串的某一位与 T T T 串的某一位不同时,由于每个字符只能被修改一次,所以一旦出现不同的字符必须立即修改。

过题代码

#include <bits/stdc++.h>
using namespace std;

typedef long long LL;
const int maxn = 1000000 + 100;
int T, ans;
char s[maxn], t[maxn];

int main() {
#ifdef ExRoc
    freopen("test.txt", "r", stdin);
#endif // ExRoc
    ios::sync_with_stdio(false);

    cin >> T;
    while (T--) {
        ans = 0;
        cin >> t >> s;
        for (int i = 1; s[i + 1] != '\0'; ++i) {
            if (s[i] == t[i]) {
                continue;
            }
            if (s[i - 1] != s[i] && s[i] != s[i + 1]) {
                ++ans;
                s[i] = t[i];
            }
        }
        if (strcmp(s, t) == 0) {
            cout << ans << endl;
        } else {
            cout << -1 << endl;
        }
    }

    return 0;
}

http://www.kler.cn/a/514975.html

相关文章:

  • 如何用Python和Dash打造一个智能股票筛选与可视化系统
  • 关于六通道串口服务器详细讲解
  • 手写SOCKET进行HTTP通信
  • 【云网】云网络基础概念(华为云)
  • 大模型 | AI驱动的数据分析:利用自然语言实现数据查询到可视化呈现
  • 基于STM32的智能空气质量监测与净化系统设计
  • 如何将办公室固定电话设置呼叫转接(或呼叫转移)到手机 -远程高效办公
  • DeepSeek R1发布综述:开源大语言模型的推理能力新标杆
  • Docker核心命令与Yocto项目的高效应用
  • Sklearn机器学习第十五天|机器学习算法原理
  • rocketmq-product-DefaultMQProducer启动流程
  • Dify:低代码 AI 应用开发平台详解与实战指南
  • 【氮化镓】集成ESD提高GaN HEMT稳定性
  • 在elasticsearch中,document数据的写入流程如何?
  • 【贪心算法】洛谷P1106 - 删数问题
  • oracle好用的decode語法
  • Frida+Objection
  • 科技护航:分布式 IO 模块与大型 PLC,稳筑地铁安全防线
  • jupyter配置说明
  • 【2024年华为OD机试】 (E卷,200分) - 跳格子3 (JavaScriptJava PythonC/C++)