1 条题解

  • 0
    @ 2026-5-19 0:14:59

    思路

    求这两个字符串中有多少个连续的子串不同。枚举 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
    6889
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    26
    已通过
    14
    上传者