AT2080题解

· · 题解

题面

本题只是一个模拟题而已,从前往后遍历整个选手数组,按题目要求判断就行了。

我们设 a 表示已入选的 a 类选手数,b 表示已入选的 b 类选手数。

那么,对于每一个选手:

代码

#include<bits/stdc++.h>
using namespace std;
int n,a,b,A,B;
char c[100005];//选手数组
int main(){
    scanf("%d%d%d",&n,&A,&B);//读入
    scanf("%s",c+1);
    for(int i=1;i<=n;i++){
        if(c[i]=='a'){//按要求判断
            if(a+b<A+B)printf("Yes\n"),a++;
            else printf("No\n");
        }
        else if(c[i]=='b'){
            if(a+b<A+B&&b<B)printf("Yes\n"),b++;
            else printf("No\n");
        }
        else printf("No\n");
    } 
    return 0;
}