做网选以来第一次过题 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;}