题解
遇到map时,sum++;遇到pie时,sum++。
特殊情况遇到mapie时,sum--(因为map,pie分别加了一次,但是该子串只需要去掉p即可)
code
#include<bits/stdc++.h> using namespace std; const int N=2e5+5; int a[N]; int main(){ // freopen("input.txt","r",stdin); int t; cin>>t; while (t--){ int n; cin>>n; string s; cin>>s; int sum=0; for (int i=0;i<=n-3;i++){ if (s[i]=='m' && s[i+1]=='a' && s[i+2]=='p' && i+3<n && s[i+3]=='i' && i+4<n && s[i+4]=='e') continue; else{ if (s[i]=='m' && s[i+1]=='a' && s[i+2]=='p') sum++; if (s[i]=='p' && s[i+1]=='i' && s[i+2]=='e') sum++; } } cout<<sum<<endl; } return 0; }
标签:map,String,int,sum,cin,pie,Ugly,Rudolf From: https://www.cnblogs.com/purple123/p/18077246