B. William the Vigilant(1100)

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,m,num,ans,vis[100005],k,w;
    char b,a[100005];
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++){
        cin>>a[i];    
    }
    for(int i=1;i<=n-2;i++){
            if(a[i]=='a'&&a[i+1]=='b'&&a[i+2]=='c'){
                vis[i]=1;
                i+=2;
                ans++;
            }
        }
    while(m--){
        k=0,w=0;
        scanf("%d %c",&num,&b);
        for(int i=num-5;i<=num+5;i++){
            if(a[i]=='a'&&a[i+1]=='b'&&a[i+2]=='c'){\
                k++;
            }
        }
        a[num]=b;
        for(int i=num-5;i<=num+5;i++){
            if(a[i]=='a'&&a[i+1]=='b'&&a[i+2]=='c'){\
                w++;
            }
        }
        ans=ans-k+w;
        printf("%d\n",ans); 
    }
    return 0;
} 

 

posted @ 2022-01-17 20:03  happycrazy  阅读(32)  评论(0)    收藏  举报