#include <stdio.h>
#include <string.h>
#define T 101
#define N 50001
#define M 10001
char 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;
}
做网选以来第一次过题 T _ T......
最新推荐文章于 2024-03-31 17:20:45 发布