{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ ":to_s" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class Card\n", " include Comparable\n", " \n", " attr_reader :suit, :value\n", " \n", " @@values = {'T' => 10, 'J' => 11, 'Q' => 12, 'K' => 13, 'A' => 14}\n", " \n", " def initialize(card)\n", " @suit = card[1]\n", " \n", " if @@values.include? card[0]\n", " @value = @@values[card[0]]\n", " else\n", " @value = card[0].to_i\n", " end\n", " end\n", " \n", " def <=>(other)\n", " if value == other.value\n", " suit <=> other.suit\n", " else\n", " value <=> other.value\n", " end\n", " end\n", " \n", " def to_s\n", " value.to_s + suit\n", " end\n", " \n", "end" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ ":<=>" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class Hand\n", " include Comparable\n", " include Enumerable\n", " \n", " attr_reader :cards\n", " \n", " def initialize(cs)\n", " @cards = cs.sort\n", " end\n", " \n", " def to_s\n", " @cards.map {|c| c.to_s}\n", " end\n", " \n", " def groups\n", " @cards.group_by {|c| c.value}\n", " end\n", " \n", " def pairs\n", " groups.select {|v, g| g.length == 2}\n", " end\n", " \n", " def singletons\n", " groups.select {|v, g| g.length == 1}.flat_map {|v, g| g}.sort\n", " end\n", " \n", " def ordered_groups\n", " groups.values.map {|g| [g.length, g[0].value, g]}.sort.map {|ag| ag[2]}.flatten.reverse\n", " end\n", " \n", " def pairs?\n", " !pairs.empty?\n", " end\n", "\n", " def flush?\n", " Set.new(@cards.map {|c| c.suit}).length == 1\n", " end\n", " \n", " def straight?\n", " @cards.map {|c| c.value} == (@cards[0].value..(@cards[0].value + 4)).to_a\n", " end\n", " \n", " def straight_flush?\n", " straight? && flush?\n", " end\n", " \n", " def royal_flush?\n", " straight_flush? && cards[-1].value == 14\n", " end\n", " \n", " def four_of_a_kind?\n", " groups.any? {|v, g| g.length == 4}\n", " end\n", " \n", " def three_of_a_kind?\n", " groups.any? {|v, g| g.length == 3}\n", " end\n", "\n", " def full_house?\n", " three_of_a_kind? && one_pair?\n", " end\n", " \n", " def two_pairs?\n", " pairs.length == 2\n", " end\n", "\n", " def one_pair?\n", " pairs.length == 1\n", " end\n", "\n", " def hand_score\n", " if royal_flush?\n", " 9\n", " elsif straight_flush?\n", " 8\n", " elsif four_of_a_kind?\n", " 7\n", " elsif full_house?\n", " 6\n", " elsif flush?\n", " 5\n", " elsif straight?\n", " 4\n", " elsif three_of_a_kind?\n", " 3\n", " elsif two_pairs?\n", " 2\n", " elsif one_pair?\n", " 1\n", " else\n", " 0\n", " end\n", " end \n", " \n", " def <=>(other)\n", " if hand_score == other.hand_score\n", " ordered_groups <=> other.ordered_groups\n", " else\n", " hand_score <=> other.hand_score\n", " end\n", " end\n", " \n", "end" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[[#, #, #, #, #]>, #, #, #, #, #]>], [#, #, #, #, #]>, #, #, #, #, #]>], [#, #, #, #, #]>, #, #, #, #, #]>], [#, #, #, #, #]>, #, #, #, #, #]>]]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hands = File.readlines('p054_poker.txt').map do |line|\n", " card_ss = line.chomp.split\n", " cards = card_ss.map {|c| Card.new(c) }\n", " [Hand.new(cards[0..4]), Hand.new(cards[5..9])]\n", "end\n", "hands[0..3]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[#, #, #, #, #]>, #, #, #, #, #]>], [#, #, #, #, #]>, #, #, #, #, #]>]]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hands.select {|h1, h2| h2.full_house?}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2000" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_hands = hands.flatten\n", "all_hands.length" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[\"3D\", \"9C\", \"9D\", \"9S\", \"14C\"], [\"3C\", \"3D\", \"3S\", \"13S\", \"14D\"], [\"3C\", \"3D\", \"3S\", \"4C\", \"14D\"], [\"2C\", \"2H\", \"2S\", \"11S\", \"13C\"], [\"5S\", \"8S\", \"14D\", \"14H\", \"14S\"], [\"3C\", \"6S\", \"14D\", \"14H\", \"14S\"], [\"2C\", \"5D\", \"14C\", \"14H\", \"14S\"], [\"2H\", \"3D\", \"3H\", \"3S\", \"6S\"], [\"5S\", \"9H\", \"12C\", \"12D\", \"12S\"], [\"2D\", \"10H\", \"11C\", \"11D\", \"11S\"], [\"7C\", \"9C\", \"14D\", \"14H\", \"14S\"], [\"6C\", \"6H\", \"6S\", \"13H\", \"13S\"], [\"4S\", \"8D\", \"8H\", \"8S\", \"14C\"], [\"3H\", \"7C\", \"10D\", \"10H\", \"10S\"], [\"8D\", \"9C\", \"9H\", \"9S\", \"10H\"], [\"5H\", \"10S\", \"13D\", \"13H\", \"13S\"], [\"4C\", \"6S\", \"11D\", \"11H\", \"11S\"], [\"4H\", \"6C\", \"6H\", \"6S\", \"7H\"], [\"2D\", \"5D\", \"5H\", \"5S\", \"9C\"], [\"10C\", \"10D\", \"10H\", \"13D\", \"13S\"], [\"3C\", \"3H\", \"3S\", \"4H\", \"12D\"], [\"2D\", \"8D\", \"11C\", \"11D\", \"11H\"], [\"2C\", \"2D\", \"2H\", \"7H\", \"11C\"], [\"2C\", \"2H\", \"2S\", \"11C\", \"12D\"], [\"3D\", \"3H\", \"3S\", \"9H\", \"11S\"], [\"3S\", \"7S\", \"11C\", \"11D\", \"11H\"], [\"5D\", \"12C\", \"12H\", \"12S\", \"13H\"], [\"5H\", \"8C\", \"8D\", \"8S\", \"13H\"], [\"2D\", \"6C\", \"6H\", \"6S\", \"13C\"], [\"3S\", \"8C\", \"8D\", \"8S\", \"13S\"], [\"6D\", \"9C\", \"9D\", \"9H\", \"13C\"], [\"2C\", \"2D\", \"2H\", \"4S\", \"8C\"], [\"12S\", \"13C\", \"13D\", \"13S\", \"14S\"], [\"2H\", \"6D\", \"11C\", \"11D\", \"11S\"], [\"3C\", \"3D\", \"3S\", \"5C\", \"6H\"], [\"5C\", \"7S\", \"13C\", \"13D\", \"13S\"], [\"9H\", \"11C\", \"11D\", \"11S\", \"13D\"], [\"10C\", \"10D\", \"10S\", \"11D\", \"12C\"]]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_hands.select {|h| h.three_of_a_kind?}.map {|h| h.to_s}" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[0, 0], [2, 0], [0, 0], [1, 1], [0, 2], [1, 1], [4, 0], [1, 1], [0, 1], [1, 0], [0, 1]]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hands[0..10].map {|h0, h1| [h0.hand_score, h1.hand_score]}" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[[\"4S\", \"8C\", \"9H\", \"10S\", \"13C\"], [\"2S\", \"3S\", \"5D\", \"7D\", \"14C\"], false], [[\"3H\", \"6S\", \"7H\", \"11S\", \"13C\"], [\"2D\", \"8S\", \"10D\", \"11C\", \"12H\"], true], [[\"5C\", \"8H\", \"10C\", \"10H\", \"12S\"], [\"4D\", \"9H\", \"11C\", \"11S\", \"13S\"], false], [[\"5H\", \"7D\", \"9C\", \"9H\", \"13S\"], [\"3S\", \"5C\", \"5D\", \"8D\", \"14H\"], true], [[\"4H\", \"7C\", \"8C\", \"10C\", \"10D\"], [\"3H\", \"4C\", \"7S\", \"13C\", \"13S\"], false], [[\"2C\", \"6H\", \"11S\", \"12D\", \"14S\"], [\"3D\", \"4H\", \"8S\", \"9H\", \"13C\"], true], [[\"2D\", \"7S\", \"8C\", \"10C\", \"13C\"], [\"5C\", \"8H\", \"10S\", \"12D\", \"14C\"], false], [[\"3D\", \"6C\", \"6S\", \"12D\", \"13H\"], [\"2H\", \"8H\", \"12S\", \"14D\", \"14S\"], false], [[\"2S\", \"3C\", \"4H\", \"11H\", \"12S\"], [\"2D\", \"3D\", \"8S\", \"9H\", \"10D\"], true], [[\"6H\", \"9D\", \"10D\", \"11H\", \"14S\"], [\"6C\", \"9S\", \"11C\", \"12C\", \"13D\"], true], [[\"3D\", \"4D\", \"5S\", \"8H\", \"11S\"], [\"3S\", \"6C\", \"8C\", \"10S\", \"14D\"], false], [[\"3S\", \"5D\", \"5H\", \"6D\", \"7C\"], [\"2H\", \"3D\", \"5C\", \"5S\", \"11C\"], false], [[\"4H\", \"11S\", \"12S\", \"13H\", \"14S\"], [\"6D\", \"7C\", \"10C\", \"12C\", \"13S\"], true], [[\"2H\", \"3D\", \"10S\", \"11S\", \"12S\"], [\"4D\", \"9S\", \"11C\", \"13D\", \"14S\"], false], [[\"6D\", \"7D\", \"11H\", \"12D\", \"14S\"], [\"4D\", \"5C\", \"7C\", \"11S\", \"12S\"], true], [[\"3H\", \"8C\", \"12D\", \"13H\", \"14D\"], [\"3S\", \"5S\", \"8H\", \"9D\", \"10H\"], true], [[\"4D\", \"5D\", \"6H\", \"9C\", \"12H\"], [\"6D\", \"11S\", \"12C\", \"13H\", \"14D\"], false], [[\"7C\", \"9C\", \"11C\", \"11S\", \"13C\"], [\"3C\", \"3H\", \"7D\", \"13D\", \"14S\"], true], [[\"3S\", \"7H\", \"12S\", \"13H\", \"13S\"], [\"5D\", \"5H\", \"7D\", \"11D\", \"14D\"], true], [[\"5H\", \"7S\", \"10D\", \"10S\", \"11H\"], [\"6H\", \"8H\", \"8S\", \"12D\", \"14D\"], true], [[\"6H\", \"9C\", \"11S\", \"12D\", \"12S\"], [\"2S\", \"5D\", \"8D\", \"14C\", \"14S\"], false], [[\"3S\", \"6C\", \"8C\", \"8S\", \"11D\"], [\"3C\", \"10C\", \"11S\", \"12C\", \"12H\"], false], [[\"4H\", \"5H\", \"5S\", \"11S\", \"12H\"], [\"8H\", \"10S\", \"11C\", \"14C\", \"14H\"], false], [[\"2C\", \"9D\", \"10H\", \"12H\", \"13C\"], [\"4H\", \"9C\", \"10S\", \"11C\", \"12S\"], true], [[\"3C\", \"8H\", \"12D\", \"12S\", \"13H\"], [\"4H\", \"8D\", \"8S\", \"10D\", \"14C\"], true], [[\"3C\", \"5S\", \"7C\", \"8H\", \"10H\"], [\"8C\", \"9C\", \"10C\", \"11D\", \"13D\"], false], [[\"8C\", \"9S\", \"11H\", \"12D\", \"13D\"], [\"2C\", \"5C\", \"7C\", \"11S\", \"12S\"], true], [[\"4S\", \"5D\", \"7H\", \"8C\", \"10D\"], [\"4H\", \"8S\", \"11S\", \"12C\", \"13S\"], false], [[\"2C\", \"3C\", \"6C\", \"6H\", \"8S\"], [\"4C\", \"4D\", \"7D\", \"8D\", \"10D\"], true], [[\"3C\", \"6D\", \"9C\", \"12D\", \"13S\"], [\"2D\", \"3S\", \"7S\", \"11D\", \"14H\"], false], [[\"3D\", \"6S\", \"7D\", \"13C\", \"13D\"], [\"2S\", \"3H\", \"5C\", \"5S\", \"8S\"], true], [[\"4C\", \"5D\", \"6H\", \"8H\", \"8S\"], [\"3H\", \"5S\", \"7C\", \"13C\", \"13D\"], false], [[\"3C\", \"3D\", \"6C\", \"8C\", \"11H\"], [\"4C\", \"7C\", \"7H\", \"10D\", \"13C\"], false], [[\"3C\", \"5D\", \"6H\", \"6S\", \"7D\"], [\"2C\", \"5C\", \"9C\", \"9D\", \"13D\"], false], [[\"2H\", \"3D\", \"3H\", \"13C\", \"14D\"], [\"4S\", \"8D\", \"11C\", \"12D\", \"12S\"], false], [[\"5C\", \"5D\", \"6S\", \"7H\", \"9H\"], [\"6C\", \"9S\", \"11C\", \"12C\", \"12D\"], false], [[\"3S\", \"4D\", \"10D\", \"10H\", \"13D\"], [\"7H\", \"11H\", \"11S\", \"13S\", \"14C\"], false], [[\"2D\", \"7S\", \"8C\", \"8S\", \"9S\"], [\"5C\", \"7D\", \"9D\", \"14D\", \"14S\"], false], [[\"2S\", \"3S\", \"5H\", \"9H\", \"11H\"], [\"2C\", \"6S\", \"7S\", \"13S\", \"14S\"], false], [[\"4H\", \"5H\", \"7D\", \"10C\", \"11H\"], [\"2H\", \"4D\", \"8D\", \"11C\", \"13S\"], false], [[\"4D\", \"5H\", \"8C\", \"10C\", \"14S\"], [\"2C\", \"3H\", \"8D\", \"9D\", \"10S\"], true], [[\"2H\", \"4S\", \"5D\", \"10D\", \"12S\"], [\"3H\", \"5H\", \"11C\", \"13S\", \"14C\"], false], [[\"2H\", \"7D\", \"12H\", \"13C\", \"14H\"], [\"3H\", \"7S\", \"11D\", \"12S\", \"13S\"], true], [[\"3H\", \"6C\", \"6D\", \"8S\", \"13S\"], [\"5C\", \"5D\", \"8H\", \"10C\", \"12D\"], true], [[\"2D\", \"4S\", \"6H\", \"10D\", \"12H\"], [\"3C\", \"8C\", \"11H\", \"12D\", \"13D\"], false], [[\"5D\", \"9D\", \"9H\", \"10D\", \"12C\"], [\"6C\", \"8C\", \"8H\", \"10S\", \"13C\"], true], [[\"2D\", \"3D\", \"8H\", \"12D\", \"13C\"], [\"2S\", \"4H\", \"9H\", \"11C\", \"14D\"], false], [[\"6S\", \"7D\", \"10D\", \"11S\", \"13D\"], [\"2S\", \"3S\", \"4H\", \"8C\", \"12S\"], true], [[\"2D\", \"3D\", \"4S\", \"7D\", \"8H\"], [\"2C\", \"9C\", \"10S\", \"13D\", \"14D\"], false], [[\"5C\", \"6D\", \"12D\", \"13C\", \"13H\"], [\"2D\", \"4H\", \"7C\", \"14C\", \"14D\"], false], [[\"2C\", \"2D\", \"3H\", \"6H\", \"14S\"], [\"6C\", \"6S\", \"9C\", \"10C\", \"11S\"], false], [[\"3S\", \"5D\", \"7D\", \"8H\", \"9H\"], [\"3H\", \"4S\", \"5H\", \"9S\", \"12C\"], false], [[\"4S\", \"7S\", \"9S\", \"10C\", \"13D\"], [\"2H\", \"3S\", \"7H\", \"8S\", \"12C\"], true], [[\"3D\", \"3H\", \"6C\", \"8C\", \"10C\"], [\"2H\", \"4D\", \"6H\", \"13D\", \"13S\"], false], [[\"3D\", \"3H\", \"9S\", \"11S\", \"13C\"], [\"2D\", \"4S\", \"6C\", \"8H\", \"8S\"], false], [[\"6C\", \"6S\", \"8D\", \"9D\", \"10D\"], [\"5D\", \"8H\", \"10C\", \"10S\", \"11S\"], false], [[\"4H\", \"9H\", \"10C\", \"11D\", \"13C\"], [\"2C\", \"5H\", \"6S\", \"8H\", \"14S\"], false], [[\"3D\", \"4C\", \"6H\", \"10S\", \"12D\"], [\"2H\", \"3S\", \"5C\", \"13D\", \"14C\"], false], [[\"4C\", \"7C\", \"9S\", \"11S\", \"14S\"], [\"7H\", \"9H\", \"10S\", \"11C\", \"13S\"], true], [[\"3H\", \"4H\", \"6H\", \"8C\", \"11D\"], [\"4S\", \"5S\", \"9S\", \"13S\", \"14D\"], false], [[\"2C\", \"3D\", \"4C\", \"7D\", \"14S\"], [\"2S\", \"6C\", \"9C\", \"12S\", \"13C\"], true], [[\"2S\", \"3D\", \"5H\", \"8S\", \"14C\"], [\"3S\", \"4D\", \"6S\", \"9D\", \"10D\"], true], [[\"9C\", \"10C\", \"12D\", \"12S\", \"14D\"], [\"3C\", \"3D\", \"5C\", \"8D\", \"13D\"], true], [[\"2C\", \"4C\", \"8D\", \"9D\", \"11H\"], [\"2S\", \"4H\", \"10S\", \"12D\", \"13D\"], false], [[\"3C\", \"4C\", \"5D\", \"11H\", \"12C\"], [\"8D\", \"9C\", \"10C\", \"12D\", \"13H\"], false], [[\"3H\", \"7H\", \"9C\", \"11S\", \"12H\"], [\"5H\", \"7C\", \"9H\", \"11C\", \"14S\"], false], [[\"5S\", \"7C\", \"8C\", \"8D\", \"14H\"], [\"2C\", \"11H\", \"12H\", \"12S\", \"13D\"], false], [[\"9S\", \"11S\", \"12D\", \"13H\", \"13S\"], [\"3C\", \"8D\", \"12C\", \"14C\", \"14H\"], false], [[\"3S\", \"5H\", \"6C\", \"9S\", \"13H\"], [\"2D\", \"8C\", \"11H\", \"12D\", \"14S\"], false], [[\"4D\", \"5S\", \"6C\", \"7H\", \"7S\"], [\"4H\", \"6S\", \"9H\", \"11C\", \"11H\"], false], [[\"4C\", \"7C\", \"8D\", \"9H\", \"12C\"], [\"4S\", \"5S\", \"9C\", \"13C\", \"14D\"], false], [[\"2H\", \"5C\", \"6C\", \"7C\", \"13H\"], [\"8S\", \"10H\", \"11D\", \"12S\", \"14D\"], false], [[\"4D\", \"7S\", \"9S\", \"10D\", \"11H\"], [\"2C\", \"5D\", \"6H\", \"11S\", \"13H\"], false], [[\"2C\", \"6S\", \"10H\", \"10S\", \"13S\"], [\"3C\", \"4S\", \"12C\", \"14H\", \"14S\"], false], [[\"4D\", \"4H\", \"7C\", \"8S\", \"9S\"], [\"6C\", \"6S\", \"10C\", \"11C\", \"14D\"], false], [[\"2H\", \"7D\", \"7H\", \"11D\", \"13C\"], [\"3H\", \"5S\", \"11C\", \"12H\", \"12S\"], false], [[\"8D\", \"9H\", \"10D\", \"11D\", \"14H\"], [\"3S\", \"7D\", \"8S\", \"9C\", \"12S\"], true], [[\"6S\", \"7H\", \"9H\", \"10H\", \"11H\"], [\"2D\", \"4C\", \"5C\", \"7C\", \"14D\"], false], [[\"5H\", \"7H\", \"8D\", \"9H\", \"13C\"], [\"3D\", \"4H\", \"7C\", \"12C\", \"14S\"], false], [[\"5S\", \"6S\", \"10C\", \"11C\", \"11D\"], [\"3S\", \"8D\", \"9D\", \"14D\", \"14S\"], false], [[\"11C\", \"12D\", \"12H\", \"13C\", \"14C\"], [\"5D\", \"7D\", \"7H\", \"8D\", \"12S\"], true], [[\"3D\", \"5H\", \"8S\", \"11S\", \"14H\"], [\"3H\", \"4S\", \"6C\", \"10D\", \"11H\"], true], [[\"4S\", \"7D\", \"9H\", \"12S\", \"14S\"], [\"5C\", \"6D\", \"10C\", \"11S\", \"13S\"], true], [[\"2D\", \"4D\", \"5C\", \"6H\", \"10C\"], [\"3D\", \"6C\", \"8S\", \"9H\", \"12H\"], false], [[\"5S\", \"6D\", \"7H\", \"10C\", \"10H\"], [\"5C\", \"9C\", \"11D\", \"13D\", \"13S\"], false], [[\"4S\", \"6S\", \"8D\", \"10D\", \"12H\"], [\"5C\", \"6C\", \"8S\", \"10C\", \"13C\"], false], [[\"3D\", \"4S\", \"5S\", \"13S\", \"14C\"], [\"2S\", \"4C\", \"7D\", \"10H\", \"12D\"], true], [[\"7S\", \"8S\", \"9D\", \"12C\", \"14C\"], [\"2H\", \"6D\", \"7C\", \"11H\", \"13C\"], true], [[\"3C\", \"4S\", \"6S\", \"11S\", \"13D\"], [\"5H\", \"7C\", \"12C\", \"13S\", \"14H\"], false], [[\"4H\", \"6S\", \"11D\", \"12S\", \"13S\"], [\"6H\", \"8H\", \"10C\", \"13C\", \"14S\"], false], [[\"4S\", \"5H\", \"7D\", \"8C\", \"11S\"], [\"3D\", \"4D\", \"8S\", \"12H\", \"13C\"], false], [[\"3S\", \"4C\", \"4H\", \"11S\", \"13D\"], [\"6D\", \"9D\", \"9S\", \"11C\", \"12D\"], false], [[\"3D\", \"4C\", \"7C\", \"10C\", \"12C\"], [\"2D\", \"4S\", \"8C\", \"11S\", \"13H\"], false], [[\"2C\", \"5D\", \"6C\", \"7D\", \"10S\"], [\"2H\", \"3C\", \"12S\", \"13S\", \"14H\"], false], [[\"2D\", \"4C\", \"7C\", \"10D\", \"11D\"], [\"6D\", \"7S\", \"10H\", \"11C\", \"14H\"], false], [[\"4C\", \"7S\", \"9D\", \"10H\", \"12S\"], [\"3H\", \"4D\", \"6H\", \"10S\", \"14D\"], false], [[\"2C\", \"4H\", \"7S\", \"9C\", \"9H\"], [\"5C\", \"5D\", \"6H\", \"11H\", \"13D\"], true], [[\"3H\", \"4H\", \"4S\", \"6S\", \"7D\"], [\"8H\", \"9D\", \"9H\", \"11S\", \"14S\"], false], [[\"4S\", \"5H\", \"5S\", \"11C\", \"12H\"], [\"2C\", \"2S\", \"9S\", \"11S\", \"14C\"], true], [[\"2D\", \"7D\", \"11C\", \"11S\", \"13H\"], [\"4C\", \"5D\", \"5H\", \"12C\", \"14D\"], true], [[\"2C\", \"2D\", \"4S\", \"9H\", \"12S\"], [\"3D\", \"9D\", \"13H\", \"14C\", \"14S\"], false], [[\"4S\", \"6S\", \"8H\", \"13D\", \"13H\"], [\"7D\", \"9D\", \"10S\", \"12C\", \"12D\"], true], [[\"5D\", \"6D\", \"7D\", \"13D\", \"13S\"], [\"3D\", \"3S\", \"4D\", \"7C\", \"11D\"], true], [[\"6H\", \"7C\", \"9D\", \"13H\", \"13S\"], [\"2H\", \"2S\", \"3D\", \"6S\", \"8S\"], true], [[\"5C\", \"9H\", \"10C\", \"12C\", \"13C\"], [\"4H\", \"6H\", \"8S\", \"13S\", \"14C\"], false], [[\"3D\", \"4C\", \"5S\", \"8D\", \"11S\"], [\"2C\", \"4H\", \"7H\", \"9C\", \"13S\"], false], [[\"7C\", \"7S\", \"8C\", \"11C\", \"13H\"], [\"2C\", \"6C\", \"10H\", \"10S\", \"12D\"], false], [[\"3C\", \"5S\", \"7S\", \"9D\", \"10H\"], [\"2H\", \"5H\", \"8S\", \"9C\", \"12H\"], false], [[\"2S\", \"5D\", \"6H\", \"9H\", \"11S\"], [\"2H\", \"3H\", \"5S\", \"7C\", \"13H\"], false], [[\"2C\", \"5D\", \"5S\", \"10C\", \"11D\"], [\"2S\", \"3C\", \"6C\", \"6S\", \"8S\"], false], [[\"2D\", \"3S\", \"7H\", \"8S\", \"10D\"], [\"6H\", \"8D\", \"9C\", \"11D\", \"13C\"], false], [[\"3H\", \"6C\", \"8S\", \"10H\", \"13D\"], [\"6H\", \"7S\", \"9S\", \"13H\", \"14C\"], false], [[\"3D\", \"4C\", \"5S\", \"7C\", \"7S\"], [\"3C\", \"3S\", \"5H\", \"6S\", \"11C\"], true], [[\"3H\", \"6S\", \"7H\", \"8C\", \"9S\"], [\"7C\", \"9H\", \"11D\", \"13H\", \"14S\"], false], [[\"4D\", \"5H\", \"6C\", \"8D\", \"9H\"], [\"2H\", \"3S\", \"5D\", \"6S\", \"12D\"], false], [[\"2H\", \"5S\", \"6S\", \"10H\", \"10S\"], [\"3C\", \"3S\", \"5H\", \"11S\", \"13S\"], true], [[\"2C\", \"8C\", \"8H\", \"11S\", \"14C\"], [\"2D\", \"7S\", \"10H\", \"11C\", \"11H\"], false], [[\"2H\", \"3D\", \"5D\", \"8H\", \"9S\"], [\"9C\", \"10C\", \"11C\", \"13D\", \"14H\"], false], [[\"3D\", \"4D\", \"7D\", \"9H\", \"14S\"], [\"2H\", \"3H\", \"7S\", \"10H\", \"13H\"], true], [[\"5S\", \"6H\", \"8H\", \"11H\", \"13S\"], [\"2S\", \"3S\", \"6S\", \"12C\", \"14C\"], false], [[\"8H\", \"11C\", \"12S\", \"14D\", \"14S\"], [\"4C\", \"4D\", \"6C\", \"12D\", \"13H\"], true], [[\"3C\", \"3H\", \"5C\", \"7D\", \"13D\"], [\"6H\", \"7H\", \"11D\", \"11H\", \"14S\"], false], [[\"5C\", \"8H\", \"9D\", \"9H\", \"13C\"], [\"2S\", \"4D\", \"4S\", \"13S\", \"14D\"], true], [[\"3S\", \"6D\", \"9S\", \"10D\", \"13C\"], [\"5C\", \"6H\", \"8D\", \"11D\", \"12D\"], true], [[\"5H\", \"8D\", \"9D\", \"10S\", \"13D\"], [\"4C\", \"6H\", \"7D\", \"10D\", \"12C\"], true], [[\"2D\", \"2H\", \"5S\", \"6H\", \"9C\"], [\"7D\", \"9S\", \"10C\", \"10D\", \"12C\"], false], [[\"2C\", \"2H\", \"3S\", \"10S\", \"13S\"], [\"7D\", \"8S\", \"9C\", \"9D\", \"11S\"], false], [[\"2H\", \"4C\", \"8D\", \"9S\", \"11H\"], [\"8H\", \"9H\", \"10H\", \"13H\", \"14D\"], false], [[\"2S\", \"5C\", \"11S\", \"12C\", \"14S\"], [\"2C\", \"3H\", \"6H\", \"7H\", \"13D\"], true], [[\"2H\", \"5D\", \"7C\", \"8H\", \"9C\"], [\"2C\", \"5S\", \"9H\", \"11H\", \"13H\"], false], [[\"2H\", \"5D\", \"7D\", \"9S\", \"13C\"], [\"2D\", \"3S\", \"12S\", \"13H\", \"14S\"], false], [[\"2H\", \"2S\", \"4S\", \"5C\", \"7D\"], [\"4D\", \"9S\", \"10D\", \"10H\", \"12H\"], false], [[\"2C\", \"5H\", \"6S\", \"9S\", \"13H\"], [\"3C\", \"4D\", \"7H\", \"10C\", \"11C\"], true], [[\"8S\", \"10H\", \"10S\", \"11D\", \"12S\"], [\"2D\", \"11H\", \"11S\", \"12D\", \"13H\"], false], [[\"5D\", \"6S\", \"9H\", \"11D\", \"12C\"], [\"2C\", \"3S\", \"8H\", \"9S\", \"10S\"], true], [[\"2C\", \"4H\", \"7S\", \"8C\", \"11S\"], [\"3S\", \"9C\", \"10D\", \"12D\", \"14D\"], false], [[\"4C\", \"6H\", \"9H\", \"10S\", \"11D\"], [\"3C\", \"6D\", \"7D\", \"12D\", \"14S\"], false], [[\"2C\", \"4S\", \"7S\", \"8S\", \"11H\"], [\"3D\", \"5D\", \"7H\", \"12H\", \"14D\"], false], [[\"2H\", \"4H\", \"6H\", \"8D\", \"10D\"], [\"2D\", \"5D\", \"7C\", \"13H\", \"14D\"], false], [[\"2C\", \"3S\", \"5H\", \"10S\", \"12D\"], [\"2S\", \"5C\", \"10D\", \"13H\", \"14H\"], false], [[\"2H\", \"7C\", \"7H\", \"9C\", \"11D\"], [\"3S\", \"4S\", \"13D\", \"13H\", \"14D\"], false], [[\"3D\", \"3S\", \"4C\", \"5S\", \"8H\"], [\"7D\", \"7S\", \"10D\", \"13C\", \"14D\"], false], [[\"2C\", \"5S\", \"7C\", \"9C\", \"12D\"], [\"5H\", \"8D\", \"11S\", \"12H\", \"13H\"], false], [[\"2S\", \"3D\", \"10D\", \"13S\", \"14D\"], [\"3C\", \"5D\", \"7S\", \"10C\", \"13C\"], true], [[\"3S\", \"6S\", \"7H\", \"8C\", \"8S\"], [\"6C\", \"8H\", \"9D\", \"9S\", \"12S\"], false], [[\"3H\", \"4D\", \"6S\", \"7H\", \"13C\"], [\"4S\", \"5C\", \"6D\", \"10S\", \"12D\"], true], [[\"3C\", \"3H\", \"7H\", \"8H\", \"10D\"], [\"9C\", \"10H\", \"13C\", \"13H\", \"14D\"], false], [[\"2H\", \"4H\", \"6C\", \"8S\", \"10H\"], [\"3H\", \"4S\", \"7S\", \"8H\", \"9S\"], true], [[\"3D\", \"3S\", \"6C\", \"7H\", \"11S\"], [\"6D\", \"9S\", \"12S\", \"14C\", \"14S\"], false], [[\"4D\", \"7C\", \"9C\", \"11D\", \"13C\"], [\"3S\", \"6D\", \"8C\", \"13S\", \"14S\"], false], [[\"2C\", \"2D\", \"3H\", \"5C\", \"9S\"], [\"3C\", \"7D\", \"9D\", \"12D\", \"12H\"], false], [[\"4S\", \"6S\", \"10H\", \"11C\", \"11D\"], [\"2D\", \"3D\", \"4C\", \"4D\", \"6C\"], true], [[\"4S\", \"6C\", \"8D\", \"11D\", \"13C\"], [\"5S\", \"7H\", \"9H\", \"12H\", \"14H\"], false], [[\"4S\", \"7D\", \"9C\", \"9S\", \"12H\"], [\"4D\", \"7H\", \"13D\", \"13H\", \"14C\"], false], [[\"6D\", \"9C\", \"10H\", \"14D\", \"14H\"], [\"4H\", \"9S\", \"12H\", \"13D\", \"13S\"], true], [[\"6H\", \"7C\", \"9C\", \"12D\", \"12S\"], [\"5S\", \"6D\", \"6S\", \"9D\", \"11H\"], true], [[\"5H\", \"5S\", \"8H\", \"10C\", \"12C\"], [\"4H\", \"6H\", \"9H\", \"9S\", \"11D\"], false], [[\"4D\", \"9D\", \"11H\", \"12H\", \"12S\"], [\"2C\", \"2D\", \"3S\", \"6C\", \"7C\"], true], [[\"2C\", \"4H\", \"6D\", \"11H\", \"12H\"], [\"3C\", \"4C\", \"5D\", \"12S\", \"13C\"], false], [[\"3D\", \"3H\", \"4H\", \"5D\", \"13S\"], [\"3S\", \"4D\", \"10D\", \"10S\", \"14D\"], false], [[\"2H\", \"3S\", \"5C\", \"5D\", \"7C\"], [\"5H\", \"6D\", \"9C\", \"9H\", \"12D\"], false], [[\"2S\", \"5H\", \"8C\", \"12D\", \"14C\"], [\"3C\", \"4S\", \"7C\", \"9H\", \"13S\"], true], [[\"2D\", \"4H\", \"5D\", \"7C\", \"10C\"], [\"3S\", \"4S\", \"6C\", \"11S\", \"13C\"], false], [[\"3S\", \"4S\", \"6C\", \"12C\", \"12S\"], [\"5C\", \"8D\", \"13H\", \"14C\", \"14D\"], false], [[\"2C\", \"4S\", \"7H\", \"8C\", \"10S\"], [\"5H\", \"9C\", \"10D\", \"11C\", \"12H\"], false], [[\"2C\", \"4S\", \"7C\", \"10H\", \"11S\"], [\"6C\", \"7S\", \"11D\", \"13S\", \"14S\"], false], [[\"7C\", \"7H\", \"9H\", \"10C\", \"11H\"], [\"3D\", \"4D\", \"5D\", \"5H\", \"6D\"], true], [[\"3S\", \"4D\", \"10H\", \"11D\", \"12H\"], [\"4H\", \"6S\", \"7D\", \"12S\", \"13S\"], false], [[\"5S\", \"8D\", \"8H\", \"10C\", \"13S\"], [\"2D\", \"2S\", \"4C\", \"11H\", \"14D\"], true], [[\"3H\", \"9D\", \"13H\", \"14C\", \"14S\"], [\"6C\", \"6S\", \"9H\", \"12D\", \"13C\"], true], [[\"2H\", \"7S\", \"9S\", \"11D\", \"11H\"], [\"5D\", \"8D\", \"8H\", \"10S\", \"13H\"], true], [[\"2D\", \"4C\", \"7D\", \"9D\", \"9S\"], [\"5H\", \"6D\", \"6S\", \"12D\", \"14C\"], true], [[\"2H\", \"8C\", \"10D\", \"11H\", \"13D\"], [\"2C\", \"5C\", \"7S\", \"11S\", \"12S\"], true], [[\"6C\", \"7D\", \"9H\", \"12D\", \"13D\"], [\"5D\", \"6S\", \"7H\", \"8H\", \"14H\"], false], [[\"3C\", \"4H\", \"7S\", \"9S\", \"12S\"], [\"3S\", \"7C\", \"9D\", \"13S\", \"14H\"], false], [[\"4D\", \"6S\", \"10S\", \"11S\", \"12H\"], [\"6D\", \"8S\", \"11H\", \"13S\", \"14S\"], false], [[\"2C\", \"2S\", \"5H\", \"8S\", \"10D\"], [\"6C\", \"10C\", \"10S\", \"13C\", \"14S\"], false], [[\"3C\", \"4D\", \"8C\", \"9S\", \"12C\"], [\"2C\", \"5C\", \"6C\", \"12D\", \"14S\"], false], [[\"2H\", \"7S\", \"8S\", \"11D\", \"13C\"], [\"2S\", \"4D\", \"5C\", \"8D\", \"14C\"], false], [[\"2C\", \"4H\", \"6H\", \"8C\", \"11S\"], [\"2H\", \"3D\", \"7D\", \"12D\", \"14C\"], false], [[\"5H\", \"7C\", \"13D\", \"13H\", \"14D\"], [\"3C\", \"5S\", \"6C\", \"6D\", \"10D\"], true], [[\"4C\", \"6C\", \"6D\", \"7C\", \"8D\"], [\"3C\", \"10H\", \"11H\", \"11S\", \"13H\"], false], [[\"2C\", \"6S\", \"12D\", \"14C\", \"14D\"], [\"3H\", \"7C\", \"10H\", \"13D\", \"13S\"], true], [[\"4C\", \"4H\", \"8H\", \"9D\", \"11D\"], [\"7S\", \"8C\", \"10S\", \"13C\", \"13H\"], false], [[\"2H\", \"3S\", \"5S\", \"6H\", \"7S\"], [\"5C\", \"6D\", \"7D\", \"13S\", \"14D\"], false], [[\"5S\", \"9D\", \"10D\", \"12S\", \"14C\"], [\"2D\", \"3D\", \"4D\", \"10C\", \"13C\"], true], [[\"2H\", \"7D\", \"10D\", \"11D\", \"12D\"], [\"3D\", \"4C\", \"5D\", \"7H\", \"13C\"], false], [[\"5C\", \"7D\", \"12H\", \"14D\", \"14S\"], [\"2H\", \"7C\", \"7H\", \"9S\", \"10C\"], true], [[\"3S\", \"6H\", \"8C\", \"8H\", \"9H\"], [\"4H\", \"10C\", \"10D\", \"11S\", \"14H\"], false], [[\"3D\", \"6S\", \"11S\", \"13D\", \"14C\"], [\"3C\", \"4S\", \"7H\", \"10H\", \"13C\"], true], [[\"4H\", \"7H\", \"8C\", \"13H\", \"14S\"], [\"3D\", \"5S\", \"6S\", \"9C\", \"10S\"], true], [[\"2D\", \"4C\", \"10D\", \"10S\", \"11H\"], [\"3H\", \"3S\", \"7S\", \"13H\", \"14D\"], true], [[\"2S\", \"7C\", \"7H\", \"9H\", \"13C\"], [\"3H\", \"5C\", \"5S\", \"6D\", \"11C\"], true], [[\"3C\", \"4H\", \"9C\", \"10C\", \"12D\"], [\"5S\", \"6D\", \"9H\", \"10D\", \"11H\"], true], [[\"3S\", \"4D\", \"4S\", \"5S\", \"8H\"], [\"3D\", \"3H\", \"5C\", \"6H\", \"14C\"], true], [[\"3C\", \"4S\", \"9H\", \"12S\", \"14C\"], [\"4D\", \"5H\", \"8S\", \"9D\", \"12H\"], true], [[\"5H\", \"6C\", \"10S\", \"11C\", \"14C\"], [\"7C\", \"8C\", \"9C\", \"11D\", \"12D\"], true], [[\"2D\", \"8H\", \"8S\", \"9C\", \"11D\"], [\"3C\", \"6H\", \"8D\", \"12C\", \"12H\"], false], [[\"3H\", \"4S\", \"7H\", \"10C\", \"12C\"], [\"2H\", \"3S\", \"8C\", \"11S\", \"13H\"], false], [[\"3C\", \"6C\", \"7C\", \"7S\", \"11D\"], [\"6D\", \"8H\", \"13H\", \"13S\", \"14H\"], false], [[\"2C\", \"5S\", \"7S\", \"8S\", \"11H\"], [\"4C\", \"11C\", \"12S\", \"13D\", \"14H\"], false], [[\"3S\", \"4C\", \"7C\", \"12D\", \"12H\"], [\"5S\", \"8S\", \"10H\", \"10S\", \"14D\"], true], [[\"2S\", \"9H\", \"10C\", \"10D\", \"11C\"], [\"3D\", \"3S\", \"7D\", \"10H\", \"12H\"], true], [[\"3H\", \"10C\", \"11C\", \"12H\", \"13H\"], [\"2C\", \"5H\", \"6H\", \"10H\", \"14C\"], false], [[\"4H\", \"7D\", \"9H\", \"10H\", \"12C\"], [\"3C\", \"7S\", \"12S\", \"13D\", \"14C\"], false], [[\"4D\", \"5S\", \"6S\", \"8H\", \"11H\"], [\"3S\", \"9S\", \"12C\", \"13S\", \"14S\"], false], [[\"3C\", \"4C\", \"9D\", \"11C\", \"14S\"], [\"4D\", \"6C\", \"8H\", \"11S\", \"12D\"], true], [[\"2D\", \"5S\", \"7H\", \"8C\", \"9H\"], [\"2S\", \"6H\", \"9C\", \"10C\", \"13S\"], false], [[\"3S\", \"8C\", \"8S\", \"10S\", \"13S\"], [\"4D\", \"4H\", \"5S\", \"6C\", \"9S\"], true], [[\"4H\", \"4S\", \"5C\", \"7D\", \"9H\"], [\"2D\", \"2H\", \"9D\", \"11H\", \"13C\"], true], [[\"2C\", \"2H\", \"6C\", \"8H\", \"13H\"], [\"5H\", \"6H\", \"9D\", \"12H\", \"12S\"], false], [[\"2S\", \"3D\", \"3H\", \"10S\", \"12C\"], [\"6H\", \"8H\", \"11C\", \"13C\", \"13S\"], false], [[\"5D\", \"7D\", \"8C\", \"10C\", \"11D\"], [\"3D\", \"6C\", \"8D\", \"9S\", \"14C\"], false], [[\"5D\", \"6C\", \"6H\", \"8H\", \"11H\"], [\"2C\", \"4H\", \"8D\", \"8S\", \"14D\"], false], [[\"2C\", \"2D\", \"3S\", \"4H\", \"9D\"], [\"3C\", \"5D\", \"10C\", \"10S\", \"14S\"], false], [[\"4D\", \"5H\", \"10H\", \"12S\", \"13S\"], [\"2H\", \"3D\", \"4S\", \"6C\", \"14D\"], false], [[\"2C\", \"5C\", \"5S\", \"6H\", \"13C\"], [\"2D\", \"3C\", \"4D\", \"9H\", \"9S\"], false], [[\"2S\", \"4C\", \"6H\", \"8S\", \"12S\"], [\"3H\", \"5D\", \"8C\", \"10H\", \"13H\"], false], [[\"2C\", \"3S\", \"5S\", \"7S\", \"13H\"], [\"6C\", \"7H\", \"8D\", \"9D\", \"12D\"], true], [[\"5C\", \"9C\", \"10D\", \"12C\", \"13S\"], [\"5H\", \"6C\", \"7C\", \"9S\", \"14H\"], false], [[\"3H\", \"4D\", \"4H\", \"5D\", \"6S\"], [\"7C\", \"7S\", \"10D\", \"12D\", \"14H\"], false], [[\"2H\", \"6S\", \"7D\", \"10C\", \"12C\"], [\"3H\", \"7S\", \"9D\", \"10S\", \"14H\"], false], [[\"2D\", \"4D\", \"5C\", \"10H\", \"12C\"], [\"4H\", \"7D\", \"9C\", \"11D\", \"14H\"], false], [[\"2S\", \"3H\", \"3S\", \"8H\", \"9D\"], [\"4C\", \"6H\", \"7C\", \"13C\", \"13S\"], false], [[\"3D\", \"5C\", \"7D\", \"9S\", \"10H\"], [\"2C\", \"4D\", \"6H\", \"7S\", \"14C\"], false], [[\"2D\", \"3D\", \"4D\", \"5C\", \"11D\"], [\"4C\", \"5H\", \"6D\", \"9H\", \"13H\"], false], [[\"2H\", \"5S\", \"6S\", \"11D\", \"14S\"], [\"3D\", \"5H\", \"7D\", \"8C\", \"11H\"], true], [[\"3D\", \"4H\", \"5C\", \"7D\", \"10D\"], [\"4D\", \"5D\", \"7H\", \"8D\", \"11S\"], false], [[\"2S\", \"9C\", \"10D\", \"12S\", \"13S\"], [\"2H\", \"4H\", \"5C\", \"8S\", \"14S\"], false], [[\"3H\", \"4H\", \"7D\", \"7S\", \"10H\"], [\"2S\", \"5D\", \"11D\", \"13C\", \"13D\"], false], [[\"2C\", \"2D\", \"5D\", \"11S\", \"14D\"], [\"3D\", \"4C\", \"4S\", \"9D\", \"11H\"], false], [[\"2S\", \"4D\", \"9D\", \"10S\", \"14C\"], [\"3H\", \"6C\", \"8D\", \"11D\", \"12D\"], true], [[\"2H\", \"3S\", \"5C\", \"11C\", \"14C\"], [\"2D\", \"4D\", \"5H\", \"7S\", \"12H\"], true], [[\"5C\", \"7C\", \"7D\", \"8S\", \"9C\"], [\"6C\", \"6D\", \"8D\", \"9S\", \"11H\"], true], [[\"2C\", \"5C\", \"6C\", \"7H\", \"10H\"], [\"3S\", \"8D\", \"9D\", \"12C\", \"14H\"], false], [[\"4H\", \"9C\", \"10D\", \"13D\", \"14D\"], [\"4S\", \"5D\", \"6H\", \"7D\", \"9S\"], true], [[\"2S\", \"3C\", \"5C\", \"6C\", \"11D\"], [\"2H\", \"3H\", \"7D\", \"9D\", \"12S\"], false], [[\"5H\", \"7H\", \"10C\", \"10H\", \"12C\"], [\"3D\", \"3S\", \"6D\", \"7C\", \"13C\"], true], [[\"3D\", \"4H\", \"8H\", \"9S\", \"12C\"], [\"2C\", \"3S\", \"5C\", \"11C\", \"13S\"], false], [[\"2D\", \"2H\", \"5D\", \"9H\", \"13D\"], [\"3S\", \"7D\", \"10C\", \"10S\", \"14H\"], false], [[\"3H\", \"4S\", \"12D\", \"12H\", \"13D\"], [\"3D\", \"7S\", \"8C\", \"8H\", \"10D\"], true], [[\"8S\", \"10C\", \"11D\", \"11S\", \"14H\"], [\"2D\", \"4D\", \"12S\", \"13H\", \"13S\"], false], [[\"5S\", \"9S\", \"11S\", \"12C\", \"13S\"], [\"2S\", \"7C\", \"11D\", \"12D\", \"14S\"], false], [[\"2D\", \"3S\", \"5S\", \"12S\", \"13C\"], [\"5D\", \"8H\", \"9H\", \"13S\", \"14C\"], false], [[\"2S\", \"3D\", \"3S\", \"4S\", \"6C\"], [\"2C\", \"2D\", \"5D\", \"10H\", \"12D\"], true], [[\"3S\", \"4D\", \"8D\", \"11H\", \"12C\"], [\"2C\", \"6H\", \"11D\", \"13C\", \"14S\"], false], [[\"8D\", \"8S\", \"10C\", \"11C\", \"12H\"], [\"5C\", \"5H\", \"6C\", \"8C\", \"14H\"], true], [[\"3H\", \"8S\", \"11H\", \"11S\", \"12D\"], [\"3C\", \"3S\", \"4H\", \"5C\", \"6D\"], true], [[\"2H\", \"3H\", \"8H\", \"11S\", \"14H\"], [\"3C\", \"4H\", \"7D\", \"12C\", \"13D\"], true], [[\"2H\", \"5H\", \"6S\", \"8H\", \"13D\"], [\"2D\", \"3C\", \"7S\", \"8S\", \"12D\"], true], [[\"2S\", \"7S\", \"12C\", \"13C\", \"14H\"], [\"4C\", \"6D\", \"8D\", \"10C\", \"12S\"], true], [[\"3C\", \"4H\", \"10S\", \"11D\", \"13H\"], [\"5S\", \"7H\", \"11S\", \"12C\", \"14S\"], false], [[\"9C\", \"10C\", \"11H\", \"13H\", \"14C\"], [\"3S\", \"4D\", \"5H\", \"10D\", \"11D\"], true], [[\"2C\", \"4D\", \"8S\", \"12H\", \"13C\"], [\"6H\", \"9D\", \"11S\", \"12C\", \"14C\"], false], [[\"4C\", \"7S\", \"10S\", \"11H\", \"11S\"], [\"4S\", \"5H\", \"12D\", \"13C\", \"13H\"], false], [[\"2C\", \"5S\", \"7C\", \"8S\", \"11C\"], [\"2H\", \"3H\", \"5D\", \"12C\", \"13C\"], false], [[\"2S\", \"4D\", \"6C\", \"7S\", \"13S\"], [\"5H\", \"10S\", \"11D\", \"12S\", \"14C\"], false], [[\"2D\", \"5D\", \"7C\", \"10C\", \"12S\"], [\"6C\", \"11S\", \"12C\", \"13C\", \"14C\"], false], [[\"2C\", \"3H\", \"4D\", \"10S\", \"13S\"], [\"4H\", \"7S\", \"8S\", \"9S\", \"14D\"], false], [[\"3H\", \"4H\", \"10H\", \"11D\", \"13D\"], [\"3S\", \"5C\", \"10C\", \"13H\", \"14C\"], false], [[\"5D\", \"7H\", \"9S\", \"10C\", \"11H\"], [\"5S\", \"7D\", \"11C\", \"13H\", \"14S\"], false], [[\"2H\", \"5C\", \"6C\", \"11D\", \"14S\"], [\"3C\", \"4D\", \"10C\", \"11H\", \"12C\"], true], [[\"2C\", \"3S\", \"7C\", \"7S\", \"9D\"], [\"3C\", \"9H\", \"10C\", \"10D\", \"11C\"], false], [[\"3C\", \"4C\", \"5C\", \"8H\", \"10S\"], [\"2C\", \"4H\", \"6S\", \"7C\", \"8D\"], true], [[\"4H\", \"5C\", \"10C\", \"12S\", \"13C\"], [\"2H\", \"9S\", \"11C\", \"12H\", \"14H\"], false], [[\"3C\", \"3H\", \"4S\", \"5H\", \"9H\"], [\"2H\", \"8H\", \"11H\", \"12C\", \"12D\"], false], [[\"2H\", \"3C\", \"8D\", \"11D\", \"14C\"], [\"4D\", \"5S\", \"7H\", \"8H\", \"9C\"], true], [[\"6C\", \"7C\", \"9H\", \"11H\", \"11S\"], [\"4H\", \"7H\", \"8C\", \"9D\", \"9S\"], true], [[\"6H\", \"7S\", \"11H\", \"13H\", \"14H\"], [\"2C\", \"5S\", \"6S\", \"7H\", \"10D\"], true], [[\"5H\", \"5S\", \"6S\", \"8H\", \"11H\"], [\"4C\", \"9D\", \"9S\", \"10C\", \"12C\"], false], [[\"2C\", \"3H\", \"5H\", \"7D\", \"13D\"], [\"4D\", \"7H\", \"11S\", \"12D\", \"14S\"], false], [[\"2C\", \"8C\", \"11C\", \"12S\", \"13H\"], [\"2D\", \"6D\", \"10C\", \"13C\", \"14H\"], false], [[\"3S\", \"4C\", \"8H\", \"13D\", \"14S\"], [\"3H\", \"7C\", \"10S\", \"11H\", \"12H\"], true], [[\"6D\", \"7H\", \"7S\", \"9D\", \"11H\"], [\"3D\", \"3S\", \"4C\", \"6C\", \"14S\"], true], [[\"5D\", \"8S\", \"9H\", \"11S\", \"12H\"], [\"2H\", \"6S\", \"7S\", \"10S\", \"14D\"], false], [[\"5H\", \"6D\", \"7H\", \"9S\", \"12C\"], [\"4H\", \"5C\", \"7D\", \"11D\", \"13C\"], false], [[\"3S\", \"4H\", \"7C\", \"8D\", \"9H\"], [\"5C\", \"6H\", \"7S\", \"8H\", \"11S\"], false], [[\"2D\", \"4H\", \"6H\", \"10D\", \"11S\"], [\"4D\", \"5H\", \"10H\", \"11C\", \"13C\"], false], [[\"7S\", \"8H\", \"8S\", \"13C\", \"14C\"], [\"3D\", \"6H\", \"6S\", \"11C\", \"12S\"], true], [[\"2D\", \"4S\", \"8C\", \"11H\", \"11S\"], [\"5D\", \"6D\", \"6H\", \"8H\", \"14D\"], true], [[\"3S\", \"5H\", \"6S\", \"8H\", \"10C\"], [\"2S\", \"7D\", \"8C\", \"11H\", \"14C\"], false], [[\"3S\", \"9C\", \"9D\", \"11C\", \"12D\"], [\"4D\", \"5D\", \"8C\", \"8H\", \"13S\"], true], [[\"2D\", \"4C\", \"4D\", \"6S\", \"8S\"], [\"4S\", \"9H\", \"10C\", \"14D\", \"14H\"], false], [[\"3C\", \"5S\", \"9D\", \"11S\", \"12D\"], [\"2H\", \"9H\", \"10S\", \"11C\", \"14H\"], false], [[\"3H\", \"4D\", \"5D\", \"9C\", \"12H\"], [\"3S\", \"4S\", \"5H\", \"7D\", \"11C\"], true], [[\"2C\", \"5S\", \"7H\", \"13C\", \"13D\"], [\"6H\", \"7S\", \"12C\", \"12H\", \"14H\"], true], [[\"2C\", \"5C\", \"5H\", \"6H\", \"14C\"], [\"2D\", \"2S\", \"7C\", \"9C\", \"10D\"], true], [[\"4D\", \"5H\", \"6D\", \"7S\", \"11H\"], [\"3C\", \"6H\", \"7D\", \"11S\", \"13H\"], false], [[\"2H\", \"8S\", \"9D\", \"10C\", \"12H\"], [\"6S\", \"7C\", \"8D\", \"12D\", \"14D\"], false], [[\"2H\", \"3S\", \"7C\", \"9H\", \"14D\"], [\"2D\", \"4C\", \"9S\", \"10S\", \"11D\"], true], [[\"3S\", \"4D\", \"10D\", \"10H\", \"11H\"], [\"2C\", \"4H\", \"5D\", \"5S\", \"12S\"], true], [[\"3D\", \"7C\", \"8S\", \"10D\", \"13C\"], [\"3S\", \"4S\", \"7D\", \"8D\", \"9H\"], true], [[\"2S\", \"4H\", \"5S\", \"8S\", \"11D\"], [\"2D\", \"5C\", \"6S\", \"10S\", \"14C\"], false], [[\"3C\", \"4S\", \"5H\", \"5S\", \"8C\"], [\"3D\", \"3H\", \"7C\", \"8D\", \"14S\"], true], [[\"3H\", \"7C\", \"10S\", \"14D\", \"14S\"], [\"6C\", \"6H\", \"7D\", \"11C\", \"12S\"], true], [[\"5C\", \"6C\", \"7H\", \"7S\", \"10D\"], [\"2H\", \"2S\", \"5S\", \"11D\", \"14D\"], true], [[\"6C\", \"8D\", \"8S\", \"10H\", \"12S\"], [\"2C\", \"8H\", \"9S\", \"14C\", \"14H\"], false], [[\"2H\", \"2S\", \"3D\", \"10S\", \"11C\"], [\"6C\", \"11H\", \"11S\", \"12C\", \"13H\"], false], [[\"2D\", \"6H\", \"7S\", \"10H\", \"13C\"], [\"2S\", \"8C\", \"9D\", \"10C\", \"12S\"], true], [[\"4H\", \"5D\", \"9S\", \"11D\", \"13H\"], [\"3H\", \"4C\", \"5C\", \"7S\", \"12S\"], true], [[\"3C\", \"3S\", \"4H\", \"5D\", \"11D\"], [\"4D\", \"7S\", \"12H\", \"12S\", \"13H\"], false], [[\"3D\", \"8D\", \"11D\", \"12S\", \"14S\"], [\"6S\", \"7C\", \"10H\", \"12C\", \"13S\"], true], [[\"2D\", \"2S\", \"5S\", \"7C\", \"8D\"], [\"2C\", \"9D\", \"10D\", \"14D\", \"14H\"], false], [[\"3C\", \"4S\", \"11H\", \"13S\", \"14D\"], [\"5C\", \"7C\", \"8C\", \"9C\", \"10H\"], true], [[\"4D\", \"7C\", \"10D\", \"11D\", \"14S\"], [\"3C\", \"5H\", \"8C\", \"9S\", \"12H\"], true], [[\"2H\", \"4H\", \"5S\", \"9C\", \"12C\"], [\"7D\", \"8C\", \"9D\", \"10D\", \"14S\"], false], [[\"5D\", \"6D\", \"8H\", \"9S\", \"11H\"], [\"3S\", \"6S\", \"7H\", \"12C\", \"14S\"], false], [[\"3H\", \"7D\", \"9D\", \"12S\", \"13C\"], [\"3C\", \"6D\", \"7S\", \"10S\", \"14H\"], false], [[\"4D\", \"7C\", \"7H\", \"12C\", \"13D\"], [\"6S\", \"10C\", \"10D\", \"13H\", \"14D\"], false], [[\"4D\", \"5S\", \"7C\", \"11D\", \"11H\"], [\"4H\", \"7D\", \"13D\", \"13H\", \"14C\"], false], [[\"5C\", \"6C\", \"7D\", \"8D\", \"8H\"], [\"8S\", \"10H\", \"11D\", \"11H\", \"12D\"], false], [[\"2C\", \"3C\", \"4C\", \"8C\", \"9S\"], [\"2D\", \"4H\", \"8D\", \"11H\", \"13S\"], false], [[\"6C\", \"7S\", \"8H\", \"11H\", \"13H\"], [\"2D\", \"3H\", \"6D\", \"9D\", \"14H\"], false], [[\"3H\", \"5C\", \"7H\", \"8D\", \"13S\"], [\"2D\", \"5H\", \"8C\", \"9H\", \"12H\"], true], [[\"2D\", \"6C\", \"6D\", \"10H\", \"12D\"], [\"3H\", \"3S\", \"4C\", \"13C\", \"14D\"], true], [[\"3C\", \"3H\", \"4H\", \"9D\", \"11S\"], [\"5H\", \"10C\", \"11C\", \"12C\", \"12H\"], false], [[\"4D\", \"5C\", \"5D\", \"8C\", \"14C\"], [\"2S\", \"3C\", \"3H\", \"4H\", \"12D\"], true], [[\"2C\", \"4C\", \"6H\", \"7D\", \"11S\"], [\"3H\", \"10D\", \"11C\", \"12D\", \"14C\"], false], [[\"2S\", \"3D\", \"8S\", \"13C\", \"13H\"], [\"4D\", \"6S\", \"10C\", \"10S\", \"11H\"], true], [[\"4H\", \"5C\", \"7C\", \"9S\", \"12S\"], [\"2H\", \"7D\", \"8S\", \"11S\", \"14D\"], false], [[\"2C\", \"3D\", \"9S\", \"14C\", \"14S\"], [\"2D\", \"2H\", \"3H\", \"11C\", \"13H\"], true], [[\"3S\", \"6S\", \"8H\", \"9S\", \"10C\"], [\"2D\", \"7S\", \"8S\", \"10S\", \"14D\"], false], [[\"3C\", \"3H\", \"5C\", \"6H\", \"9C\"], [\"8H\", \"10D\", \"11C\", \"12D\", \"12H\"], false], [[\"3C\", \"5D\", \"10D\", \"11S\", \"12D\"], [\"2C\", \"9H\", \"10H\", \"13H\", \"14S\"], false], [[\"3D\", \"5C\", \"9S\", \"10C\", \"11D\"], [\"5H\", \"9H\", \"12H\", \"13C\", \"14D\"], false], [[\"3H\", \"4H\", \"7H\", \"8H\", \"10C\"], [\"2S\", \"6S\", \"7C\", \"10D\", \"14C\"], false], [[\"3C\", \"5D\", \"9D\", \"11C\", \"12S\"], [\"2S\", \"4D\", \"6C\", \"11H\", \"13S\"], false], [[\"3C\", \"6S\", \"7H\", \"9S\", \"10S\"], [\"3D\", \"4C\", \"6D\", \"9C\", \"13D\"], false], [[\"3C\", \"6D\", \"8H\", \"12C\", \"13H\"], [\"2D\", \"3S\", \"7D\", \"10D\", \"14H\"], false], [[\"4C\", \"6C\", \"6D\", \"11S\", \"12S\"], [\"3H\", \"8D\", \"8S\", \"9C\", \"10S\"], false], [[\"6C\", \"9C\", \"9D\", \"10S\", \"13D\"], [\"2C\", \"2S\", \"4H\", \"11C\", \"12D\"], true], [[\"3H\", \"9H\", \"10C\", \"12S\", \"13C\"], [\"3C\", \"4H\", \"10H\", \"13S\", \"14D\"], false], [[\"4D\", \"6C\", \"10D\", \"12H\", \"13S\"], [\"5D\", \"7C\", \"8D\", \"13H\", \"14D\"], false], [[\"2S\", \"4C\", \"8C\", \"8S\", \"9S\"], [\"3D\", \"6H\", \"7C\", \"7H\", \"12D\"], true], [[\"2H\", \"3S\", \"6S\", \"8S\", \"11C\"], [\"2S\", \"3H\", \"7H\", \"8C\", \"9D\"], true], [[\"2D\", \"2S\", \"9S\", \"12H\", \"13D\"], [\"6D\", \"9C\", \"9H\", \"12D\", \"14D\"], false], [[\"4D\", \"8S\", \"9S\", \"13S\", \"14C\"], [\"5C\", \"8D\", \"9D\", \"10H\", \"12H\"], true], [[\"5C\", \"5D\", \"8C\", \"10C\", \"12S\"], [\"2C\", \"3D\", \"3S\", \"4C\", \"8D\"], true], [[\"2C\", \"4H\", \"5S\", \"10D\", \"12D\"], [\"4C\", \"8S\", \"11H\", \"12H\", \"14H\"], false], [[\"6H\", \"7S\", \"10S\", \"11C\", \"12D\"], [\"3H\", \"5S\", \"10D\", \"13C\", \"14C\"], false], [[\"7D\", \"11C\", \"12H\", \"12S\", \"14S\"], [\"2C\", \"4C\", \"5C\", \"5S\", \"13C\"], true], [[\"3D\", \"4H\", \"11S\", \"12H\", \"14S\"], [\"2S\", \"7H\", \"8D\", \"9C\", \"11C\"], true], [[\"3H\", \"6D\", \"7H\", \"10S\", \"11S\"], [\"2D\", \"7C\", \"8S\", \"11H\", \"14C\"], false], [[\"2H\", \"6S\", \"9H\", \"11C\", \"13S\"], [\"3H\", \"5H\", \"9C\", \"12C\", \"14H\"], false], [[\"5C\", \"5S\", \"6C\", \"13H\", \"14D\"], [\"9C\", \"9H\", \"10D\", \"11C\", \"12C\"], false], [[\"2C\", \"3D\", \"4C\", \"6H\", \"11D\"], [\"6C\", \"7S\", \"11H\", \"13C\", \"14H\"], false], [[\"4C\", \"7S\", \"9D\", \"13S\", \"14D\"], [\"3S\", \"7D\", \"8H\", \"9C\", \"13C\"], true], [[\"3D\", \"7C\", \"9C\", \"11H\", \"13S\"], [\"4H\", \"5S\", \"6H\", \"9S\", \"12S\"], true], [[\"2S\", \"3C\", \"6D\", \"7C\", \"12H\"], [\"2C\", \"5H\", \"7S\", \"8H\", \"14H\"], false], [[\"6D\", \"8D\", \"12D\", \"13C\", \"13H\"], [\"3D\", \"5C\", \"7H\", \"9C\", \"9D\"], true], [[\"2D\", \"6H\", \"8S\", \"9S\", \"11S\"], [\"2S\", \"6D\", \"7C\", \"10C\", \"13C\"], false], [[\"2D\", \"4C\", \"4H\", \"8H\", \"9H\"], [\"2H\", \"5S\", \"7H\", \"8D\", \"8S\"], false], [[\"3C\", \"7S\", \"12C\", \"12H\", \"13S\"], [\"4C\", \"5C\", \"5D\", \"13C\", \"14H\"], true], [[\"4H\", \"5D\", \"7D\", \"9H\", \"10S\"], [\"2H\", \"4C\", \"8C\", \"9C\", \"12C\"], false], [[\"2C\", \"4D\", \"7D\", \"9H\", \"13S\"], [\"4C\", \"11S\", \"12H\", \"13D\", \"14D\"], false], [[\"3C\", \"4S\", \"7S\", \"8S\", \"10S\"], [\"2S\", \"4D\", \"5C\", \"6H\", \"7C\"], true], [[\"5C\", \"6D\", \"7S\", \"11S\", \"13D\"], [\"2H\", \"6S\", \"8S\", \"10D\", \"12H\"], true], [[\"2C\", \"3H\", \"5S\", \"8C\", \"12S\"], [\"2S\", \"3C\", \"4S\", \"7D\", \"14D\"], false], [[\"5C\", \"10S\", \"12C\", \"12H\", \"14S\"], [\"4C\", \"4S\", \"5H\", \"6S\", \"11S\"], true], [[\"2H\", \"8S\", \"9S\", \"10C\", \"14D\"], [\"2C\", \"4H\", \"5C\", \"7H\", \"10S\"], true], [[\"2S\", \"4H\", \"5S\", \"6C\", \"13S\"], [\"7C\", \"8H\", \"9C\", \"13D\", \"14H\"], false], [[\"3H\", \"5D\", \"5S\", \"13C\", \"14C\"], [\"2H\", \"4C\", \"4S\", \"7H\", \"12S\"], true], [[\"5S\", \"6C\", \"8D\", \"9D\", \"10H\"], [\"6D\", \"7D\", \"8C\", \"9S\", \"13H\"], false], [[\"5S\", \"7S\", \"9S\", \"11D\", \"13D\"], [\"2D\", \"7C\", \"9C\", \"11C\", \"14D\"], false], [[\"4S\", \"5H\", \"9C\", \"11H\", \"14H\"], [\"2D\", \"5D\", \"6S\", \"7C\", \"10D\"], true], [[\"6D\", \"7H\", \"8H\", \"12C\", \"13C\"], [\"5S\", \"6S\", \"7S\", \"8C\", \"14H\"], false], [[\"3D\", \"8H\", \"11D\", \"13D\", \"14S\"], [\"5C\", \"6C\", \"7C\", \"8C\", \"12D\"], true]]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hands.select {|h0, h1| h0.hand_score == h1.hand_score}.map {|h0, h1| [h0.to_s, h1.to_s, h0 > h1]}" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[#, #, #, #, #]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_hands[7].ordered_groups" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "376" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hands.select {|h0, h1| h0 > h1}.length" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Ruby 2.4.0", "language": "ruby", "name": "ruby" }, "language_info": { "file_extension": ".rb", "mimetype": "application/x-ruby", "name": "ruby", "version": "2.4.0" } }, "nbformat": 4, "nbformat_minor": 1 }