天天看点

环形队伍

4717. 环形队伍

​n 个小朋友围成一圈,按顺时针顺序依次编号为 ​1∼n。

有 ​7 种颜色的帽子,每种颜色的帽子的数量都足够多。

​7 种颜色不妨表示为 ​

​R​

​​、​

​O​

​​、​

​Y​

​​、​

​G​

​​、​

​B​

​​、​

​I​

​​、​

​V​

​。

现在,要给每个小朋友都发一个帽子,要求:

  • 每种颜色的帽子都至少有一个小朋友戴。
  • 任意四个相邻小朋友的帽子颜色都各不相同。

请你提供一种分发帽子的方案。

输入格式

共一行,包含一个整数 ​n。

输出格式

输出一行长度为 ​n 的由代表颜色的字符组成的字符串,其中的第 ​ii 个字符表示第 ​ii 个小朋友分到的帽子的颜色。

如果方案不唯一,输出任意合理方案均可。

数据范围

所有测试点满足 ​7≤n≤100

输入样例1:

8      

输出样例1:

ROYGRBIV      

输入样例2:

13      

输出样例2:

ROYGBIVGBIVYG      
难度:中等
时/空限制:1s / 256MB
总通过数:1230
总尝试数:3179
来源:AcWing,第77场周赛
#include<iostream>
using namespace std;
int n;
char a[7]={'R','O','Y','G','B','I','V'};
int main()
{   
    // cin>>n;
    // for(int i=1;i<=n;i++)
    // {
    //     if(i%7==1)cout<<'R';
    //     else if(i%7==2)cout<<'O';
    //     else if(i%7==3)cout<<'Y';
    //     else if(i%7==4)cout<<'G';
    //     else if(i%7==5)cout<<'B';
    //     else if(i%7==6)cout<<'I';
    //     else cout<<'V';
    // }
    cin>>n;
    for(int i=1;i<=n-3;i++)
    cout<<a[i%4];
    for(int i=4;i<=6;i++)
    cout<<a[i];
    return 0;
}