做网选以来第一次过题 T _ T......

来源:互联网 发布:js跳转页面 编辑:程序博客网 时间:2024/05/29 18:11
#include <stdio.h>#include <string.h>#define T 101#define N 50001#define M 10001char s[N];int c[N];char love[]="wbw";int strcmps(char * p){    int flag=1;    for(int i=0; i<3; i++)        if(*(p+i)!=love[i])        {            flag=0;            break;        }    return flag;}void fun(int l, int r){    int cnt=0;    for(int i=l; i<=r-2; i++)        if(s[i]=='w' && strcmps(s+i))            c[i]=1;        else            c[i]=0;}int cnt(int l, int r){    int cnt=0;    for(int i=l; i<=r-2; i++)        cnt+=c[i];    return cnt;}int main(void){    int t, n, m, q, l, r, k;    char ch;    scanf("%d", &t);    for(int ii=1; ii<=t; ii++)    {        scanf("%d%d %s", &n, &m, s);        memset(c, 0, sizeof(c));        fun(0,n-1);        printf("Case %d:\n", ii);        for(int i=1; i<=m; i++)        {            scanf("%d", &q);            if(q==0)            {                scanf("%d%d", &l, &r);                printf("%d\n", cnt(l, r));            }            else            {                scanf("%d %c", &k, &ch);                s[k]=ch;                fun(k-2, k+2);            }        }    }    return 0;}


原创粉丝点击