746 D. Green and Black Tea codeforces

来源:互联网 发布:autodesk软件卸载工具 编辑:程序博客网 时间:2024/06/03 04:45

思路:先放多的,多的都是以k个连成一块,然后少的往里插。

#include<bits/stdc++.h>using namespace std;char str[100005];int main(){    int n,k,a,b,flag;    cin>>n>>k>>a>>b;    char aa,bb;    aa='G';bb='B';    if(a>b)    {        swap(a,b);        aa='B';        bb='G';    }    for(int i=1;i<=n;i++)    {        str[i]=bb;    }    flag=1;    for(int i=k+1;i<=n;i+=k+1)    {        if(a<=0)        {            flag=0;            break;        }        str[i]=aa;        a--;    }    if(flag)    {        for(int i=1;i<=n;i++)        {            if(!a) break;            if(str[i]==aa||str[i-1]==aa||str[i+1]==aa) continue;            str[i]=aa;            a--;        }        for(int i=1;i<=n;i++)            cout<<str[i];        cout<<endl;    }    else        cout<<"NO"<<endl;    return 0;}


0 0
原创粉丝点击