首页 > 其他 > 详细

codeforces Codeforces Round #597 (Div. 2) B. Restricted RPS 暴力模拟

时间:2019-11-03 01:06:12      阅读:112      评论:0      收藏:0      [点我收藏+]
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
char x[105];
char xx[105];
int main() {
    int t;
    cin>>t;
    while(t--) {
        int a,b,c,n;
        cin>>n>>a>>b>>c;
        for(int i=0; i<n; i++) xx[i]=0;
        scanf("%s",x);
        int r=0,p=0,s=0;
        for(int i=0; i<n; i++) {
            if(x[i]==R) r++;
            else if(x[i]==P) p++;
            else s++;
        }
        int ans=0;
        ans+=min(r,b);
        ans+=min(p,c);
        ans+=min(s,a);
        if(ans>=(n+1)/2) {
            printf("YES\n");
            for(int i=0; i<n; i++) {
                if(x[i]==R&&b>0) {
                    xx[i]=P;
                    b--;
                } else if(x[i]==P&&c>0) {
                    xx[i]=S;
                    c--;
                } else if(x[i]==S&&a>0) {
                    a--;
                    xx[i]=R;
                }
            }
            for(int i=0; i<n; i++) {
                if(xx[i]==0) {
                    if(a>0) {
                        printf("R");
                        a--;
                    } else if(b>0) {
                        printf("P");
                        b--;
                    } else if(c>0) {
                        c--;
                        printf("S");
                    }
                } else printf("%c",xx[i]);
            }
            printf("\n");
        } else {
            printf("NO\n");
        }
    }
    return 0;
}

 

codeforces Codeforces Round #597 (Div. 2) B. Restricted RPS 暴力模拟

原文:https://www.cnblogs.com/QingyuYYYYY/p/11784659.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!