1 条题解

  • 0
    @ 2025-8-24 22:53:19

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar nightwatch.ryan
    这世上的道路有许多条,每个人都有属于自己的那条 || 不拿蓝勾不改签

    搬运于2025-08-24 22:53:19,当前版本为作者最后更新于2023-12-19 19:09:45,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    思路

    求这两个字符串中有多少个连续的子串不同。枚举 AABB 这两个字符串,首先特判第一个字符,如果 AABB 的第一个字符一样,答案直接加一。如果 AA 的第 ii 个字符和 BB 的第 ii 个字符不一样,并且 AA 的第 i1i-1 个字符和 BB 的第 i1i-1 个字符一样,答案加一。

    代码

    #include<iostream>
    #include<string>
    int n,res;
    std::string a,b;
    int main(){
    	std::cin>>n>>a>>b,res=0;
    	for(int i=0;i<n;i++)
    		if(a[i]!=b[i] and i==0)res++;//第一个字符不同一定要变
    		else if(a[i]!=b[i] and a[i-1]==b[i-1])res++;//当前字符不相同,但是前一个字符相同(说明前一个字符不用变)答案+1
    	std::cout<<res;
    }
    
    • 1

    信息

    ID
    9545
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者