7.29每日一题
作者:
qbz666
,
2023-07-29 18:54:58
,
所有人可见
,
阅读 113
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int n,k,a,b;
char s[300010];
int max(int a,int b)
{
return a>b?a:b;
}
int min(int a,int b)
{
return a<b?a:b;
}
void swap(int *a,int *b)
{
int t=*a;
*a=*b,*b=t;
}
int main()
{
int t=0;
scanf("%d%d%d%d",&n,&k,&a,&b);
for(int i=1;i<=n;i++)
{
if(t==k)
{
if(s[i-1]=='G')
s[i]='B',b--,t=1;
else
s[i]='G',a--,t=1;
}
else
{
if(a>b)
{
s[i]='G',a--,t++;
if(s[i-1]!=s[i])t=1;
}
else
{
s[i]='B',b--,t++;
if(s[i-1]!=s[i])t=1;
}
}
}
if(a<0||b<0)puts("NO");
else puts(s+1);
}