数据如下:
3 3 2
WWC
不知道为什么答案是 no,感觉挺对的。
代码:
#include<bits/stdc++.h>
#define i64 long long
#define L(a,b,c) for(int i=a;i<=b;i+=c)
#define R(a,b,c) for(int i=a;i>=b;i-=c)
using namespace std;
const int N=2e5+5,M=998244353;
int T;
void solve();
signed main(){
ios::sync_with_stdio(0);
solve();
return 0;
}
int n,m,k;
char s[N];
void solve(){
cin>>T;
while(T--){
cin>>n>>m>>k;
L(1,n,1) cin>>s[i];
int i=1,p=1;
bool f=0;
while(i<=n){
if(s[i]=='L') i++;
else if(s[i]=='W'){
int j=i;
while(s[j]=='W') j++;
if(m<=j-i){
k-=j-i-m+1;
if(k<0){f=1;cout<<"NO"<<endl;break;}
}
i=j;
}
else{
int j=i;
while(s[j]=='C') j++;
if(m<=j-i){f=1;cout<<"NO"<<endl;break;}
i=j;
}
}
if(!f) cout<<"YES"<<endl;
}
}