オフラインリアルタイムどう書く E27 の解答例
問題 : http://nabetani.sakura.ne.jp/hena/orde27cardgame/
実装リンク集 : https://qiita.com/Nabetani/items/cdc102d186faaf542574
久々に勝ちました。
割と素直な実装です。計算量的に大丈夫かかなり不安だったけど結構すぐだった。
8枚のうち、ストーリーとカインドは2個のまとまりが必要なので枚数でいうとパターンが少ない。列挙すると以下の通り。
patterns = [ [8], [6, 2], [5, 3], [4, 4], [4, 2, 2], [3, 3, 2], [2, 2, 2, 2], ]
この枚数にたいしてストーリーあるいはカインドをつくって抜いて、と再帰すればよい。
初期実装は再帰じゃなくて if の羅列になってて結構汚いです。
リファクタリングしたほう