fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5. void solve() {
  6. int n,m,k;
  7. cin >> n>>m>>k;
  8. string s;
  9. cin>>s;
  10. s='L'+s;
  11. s=s+'L';
  12. n+=2;
  13. vector<int> v(n,INT_MAX);
  14. v[0]=0;
  15. int z=0;
  16. for(int i=0;i<n-1;i++){
  17. if(z>k){
  18. cout<<"NO"<<endl;
  19. return;
  20. }
  21. if(s[i]!='C'){
  22. if(s[i]=='W' && v[i]!=INT_MAX && v[i+1]==INT_MAX && s[i+1]!='C' && z<k){
  23. v[i+1]=1;
  24. z++;
  25. }
  26. else if(s[i]=='L'){
  27. for(int j=1;j<=m && i+j<n;j++){
  28. if(s[i+j]=='C')continue;
  29. v[i+j]=min(v[i+j],1+v[i]);
  30. }
  31. }
  32.  
  33. }
  34. }
  35. // for(int i=0;i<n;i++){
  36. // cout<<v[i]<<endl;
  37. // }
  38.  
  39. if(v[n-1]==INT_MAX){
  40. cout<<"NO"<<endl;
  41. return;
  42. }
  43.  
  44. cout<<"YES"<<endl;
  45. return;
  46.  
  47.  
  48.  
  49.  
  50.  
  51. }
  52.  
  53. signed main() {
  54. int t;
  55. cin >> t;
  56. while (t--) {
  57. solve();
  58. }
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0.01s 5280KB
stdin
1
3 1 1
CCW


stdout
NO