Google Code Jam Online Round 1: Sub-Round B-B-large Stable Neigh-bors

f:id:peroon:20170424010209j:plain

問題はこちら https://code.google.com/codejam/contest/8294486/dashboard#s=p1

時間内には解けなかったが、largeでCorrectまでいけた。O, G, Vと隣り合うことができるのはそれぞれB, R, Yのみなので、O, G, Vを包み込むようにB, R, Yを配置して消費し、包み込んだものをB, R, Yの点と見なしてB, R, Yの問題として解いた。

包み込む場合はO < Bのように、包み込む側が多い必要があるが例外もあって、OBOBと円上に並べれば包み込む必要はない。そういう例外をいくつか考慮することでlargeでも通った。

以下はgist

Google Code Jam Online Round 1: Sub-Round B-B-larg …