小手凉凉


私信TA

用户名:mx2003

访问量:3109

签 名:

面向对象面向君,不负代码不负卿

等  级
排  名 4552
经  验 1618
参赛次数 2
文章发表 12
年  龄 2
在职情况 学生
学  校 SAU
专  业 计算机科学与技术

  自我简介:

进阶小趴菜


参考代码:

/*超时!!!!!
#include<iostream>
using namespace std;
int main()
{
    int k;
    char c1,c2;
    int l=0,r=0,ans=0;
    string s;
    cin>>k;
    cin>>s;
    cin>>c1>>c2;
    for(l=0;l<=s.length()-4;l++)
    {
        if(s[l]!=c1) continue;
        for(r=l+k-1;r<=s.length()-1;r++)
        {
            if(s[l]!=c1) break;
            if(s[r]!=c2) continue;
            if(s[l]==c1&&s[r]==c2&&r-l>=k-1)
            {
                ans++;
            }
        }
    }
    cout<<ans;
    return 0;
}
*/
//找末尾c2前面有几个符合条件的c1。
#include<iostream>
using namespace std;
int main()
{
    int k;
    char c1,c2;
    long long l=0,r=0,ans=0,n=0;
    string s;
    cin>>k;
    cin>>s;
    cin>>c1>>c2;
    for(int i=0;i<s.length();i++)
    {
        if(i-k+1>=0&&s[i-k+1]==c1) n++;
        if(s[i]==c2)
        {
            ans+=n;
        }
    }
    cout<<ans;
    return 0;
}


 

0.0分

13 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区