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;
}
技巧:相较于简单的一个个枚举 可以先用一个数组将所要循环使用的储存起来,然后通过下标来查找即可
标签:cout,int,环形,else,队伍,小朋友,i%,帽子 From: https://blog.51cto.com/u_15784515/5847930