AcWing 蓝桥杯真题. 字串简写
原题链接
简单
作者:
YMYS
,
2024-03-29 18:05:59
,
所有人可见
,
阅读 22
//2024.3.29
//https://www.lanqiao.cn/problems/3514/learning/
//https://www.acwing.com/problem/content/description/4963/
//字串简写
/*
思路:暴力+双指针。蓝桥官网通过率70%,aciwng过了6/10
*/
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int k;
char l,r;
string str;
int main()
{
#ifdef ABC
freopen("D:\\daily_Coding\\VScode-C&C++-Coding\\in.in", "r", stdin);
freopen("D:\\daily_Coding\\VScode-C&C++-Coding\\out.out", "w", stdout);
#endif
cin>>k>>str>>l>>r;
int sum=0;
for(int i=0,j;i<str.length();i++){
if(str[i]!=l) continue;
j=i+k-1;
while(j<str.length()){
if(str[j] != r) j++;
else if(str[j] == r){
sum++;
j++;
}
}
}
cout<<sum<<endl;
return 0;
}
/*
//AC代码
//利用了数学的思想,非常牛逼
//以后应该着重关注数据的各种隐藏关系!
#include <bits/stdc++.h>
using namespace std;
int K;
long long ans=0,c1_sum=0;
string S;
char c1,c2;
int main(){
cin>>K>>S>>c1>>c2;
for(int i=K-1,j=0;i<S.length();i++,j++){
if(S[j]==c1) c1_sum++;
if(S[i]==c2) ans+=c1_sum;
}
cout<<ans;
return 0;
}
*/