Codeforces Beta Round #70 (Div. 2)
はい。
http://codeforces.com/contest/78
A. Haiku
解読中
B. Easter Eggs
constructive algorithms,implementation
ざっくりと大意
・7色のボールがあり、サークル状に並べる。ボールは全色使う。
・サークル状のどの部分でも4つの中に重複した色があってはいけない。
方針のようなもの
・とある7個の並びを決めて8個目以降は、とある7個の並びの5,6の間に同じ並びで挿入していけばいいかと思ったら11個位で破綻した。
・5,6の間に逆順で挿入も破綻。。。。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() n=int(raw_input()) #l=[int(x) for x in raw_input().split()] l='ROY'+'GBIV'*25 print l[:n]
どうして上手く書けなかったけど、B問題くらいなら何か2,3行で済む方法あるはずと思ってたらアレです。
おそらく最も単純な答えは とある7色並びを決めて前半3つと後半4つに分ける。
8個より多く並べるときはその後半4つ分でループさせて並べるとかならず4つ以上同じ色が並ばないようになっているのを前半の3つに付け足す。
それだけ。まんべんなく使おうとすると作ってるリストの右左どっちかで破綻しやすいので色をまんべんなく使おうとする必要はなかった。