求调div3 D
  • 板块学术版
  • 楼主jess1ca1o0g3
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/12 11:22
  • 上次更新2024/7/12 12:45:59
查看原帖
求调div3 D
1011579
jess1ca1o0g3楼主2024/7/12 11:22

数据如下:

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;
  }
}
2024/7/12 11:22
加载中...