有一个有 \(n\) 个点的环,你可以将其染成一种颜色。一共有 \(7\) 种颜色(R
,O
,Y
,G
,B
,I
,V
)可以选择。你的染色方案应该满足下面的要求:
求一种满足上述要求的方案。
数据范围:\(7\leqslant n\leqslant 100\)。
很显然,如果 \(n<7\),那么显然没有满足条件的方案,又因为数据范围给出 \(n\geqslant 7\),所以一定会有满足条件的方案。
接下来考虑如何构造。我们不妨将前 \(n-3\) 个点循环涂上前 \(4\) 种颜色,如 ROYGROYG...
,最后三个点再去填剩下三个颜色 BIV
。可以发现无论 \((n-3)\mod 4\) 的余数是什么,这样的填色方案一定能够满足题目要求。
int n;
const string s = "ROYGBIV";
int main() {
n = Rint;
F(i, 0, n - 4) putchar(s[i % 4]);
F(i, 4, 6) putchar(s[i]);
return 0;
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章