以下の内容はhttps://namonakimichi.hatenablog.com/entry/2016/03/16/140147より取得しました。


No.349 干支の置き物

No.349 干支の置き物 - yukicoder

絶対に隣りあわないパターンかどうかを判断する問題。


もしこの中で一番多い種類を考えると、ABABABABAのように1つ置きにAが現れるパターンが最大で、これを超えてしまうと絶対どこかで隣り合ってしまう。
よって一番多い種類が(n+1)//2個以下であればYES、そうでなければNOを出力する。


ちなみにこの類のカウントする問題は、Pythonを使っている場合、Counterを使うことで少し楽に処理が可能である。


以下、Python3での解答コード。

#81004 No.349 干支の置き物 - yukicoder

from collections import Counter
n = int(input())
c = Counter([input() for _ in range(n)])
print("YES" if (n+1)//2>=max(c.values()) else "NO")



以上の内容はhttps://namonakimichi.hatenablog.com/entry/2016/03/16/140147より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14