eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Космічний покер 3

Космічний покер 3

Космічний покер. Легендарна гра, перша версія якої з'явилась ще у далекому 1284 році Чужої ери. До цього часу її правила відомі лише вузькому колу професійних гравців. Протк Вам повезло --- розробники першої у світі програми, яка грає у космічний покер, звернулись до Вас за допомогою. У космічний покер грає \textbf{N} інопланетян. На початку раунда кожному з гравців роздають по \textbf{M} карт (назвемо їх \textit{особистими}). Особисті карти гравця невідомі його суперникам. Потім на стіл по черзі викладаються \textbf{K} \textit{спільних карт}. Спільні карти кладуть рубашкою донизу, тому вони видні усім гравцям. Рука гравця складається з його особистих та спільних карт --- усього \textbf{M+K} карт. Мастей немає, карти розрізняються лишь номіналом. Усього є \textbf{13} різних номіналів: "\textbf{2}", "\textbf{3}", "\textbf{4}", …, "\textbf{9}", "\textbf{T}", "\textbf{J}", "\textbf{Q}", "\textbf{K}" та "\textbf{A}". Грають нескінченною колодою, у якій ймовірність того, що чергова карта буде мати заданий номінал, дорівнює \textbf{1/13}. Комбінації у космічному покері мають вигляд (\textbf{v_1}, …, \textbf{v_L}), де \textbf{L} --- кількість різних номіналів у комбінації. Рука гравця задовольняє комбінації (\textbf{v_1}, …, \textbf{v_L}), якщо містить \textbf{v_1} карт першого номіналу, \textbf{v_2} карт другого номіналу, …, \textbf{v_L} карт \textbf{L}-го номіналу. Наприклда, комбінації (\textbf{2}, \textbf{2}) задовольняють руки "\textbf{2JA2A}" та "\textbf{22233}". Комбінації (\textbf{2}, \textbf{3}) задовольняє рука "\textbf{KQKQKQ}", але не задовольняє рука "\textbf{AAAAAA}". Усі комбінації мають різну вартість. У раунді перемагає гравець, рука якого містить комбінацію найбільшої вартості серед усіх комбінацій на руках усіх гравців. Якщо таких гравців декілька, оголошується нічия. Знаючи особисті карти першого гравця та частково відкриті спільні карти, порахуйте ймовірність того, що цей гравець виявитьсяя єдиним переможцем раунда. \InputFile У першому рядку через пропуск записано числа \textbf{N}, \textbf{M} та \textbf{K} (\textbf{2} ≤ \textbf{N}, \textbf{M} ≤ \textbf{10}, \textbf{1} ≤ \textbf{K} ≤ \textbf{5}). У другому рядку записано \textbf{M} символів --- особисті карти першого гравця. У третьому рядку записано не більше \textbf{K} символів --- відкриті спільні карти. У четвертому рядку записано число \textbf{C} --- кількість існуючих у космічному покері комбінацій (\textbf{1} ≤ \textbf{C} ≤ \textbf{100}). Далі у \textbf{C }рядках перераховано комбінації у порядку зростання вартості. Кожна з них має вигляд \textbf{L} \textbf{v_1 v_2} … \textbf{v_L}. Числа \textbf{L} та \textbf{v_i} додатні, сума усіх \textbf{v_i} не перевищує \textbf{M+K}. \OutputFile Виведіть ймовірність перемоги першого гравця з точністю не менше \textbf{10^\{−5\}}.
Ліміт часу 3 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 5 2
23456

1
1 2
Вихідні дані #1
0.0883526857
Автор Олексій Самсонов
Джерело Ural SU Contest. Petrozavodsk Summer Session, August 2008