QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 2048 MB Total points: 100

#8684. Жребий брошен

Statistics

Вы играете в игру с несколькими честными шестигранными кубиками. На каждой грани каждого кубика изображён один символ. Цель игры — бросить кубики и составить допустимое слово из символов на верхних гранях. Если слово составить не удаётся, можно перебросить кубики и попробовать снова.

problem_8684_e748ebe84691995c030c49e69ce185d3.png

Рисунок K.1: Пять кубиков образуют допустимое слово, соответствующее первому примеру входных данных.

Пусть есть пять кубиков: один содержит буквы A, B, C, D, E и P (сокращённо ABCDEP), остальные — AEHOXU, AISOLR, ABCDEF и ABCSCC. После первого броска на верхних гранях соответственно выпали P, X, R, E и S. Из этих букв нельзя составить допустимое слово, поэтому вы оставляете P, S и E и перебрасываете остальные кубики, пытаясь получить PARSE, PAUSE, PHASE, POISE, PROSE, PULSE или PURSE. Два кубика дают E и A, и теперь буквы таковы: P, E, A, E и S. Вы всё ещё не можете придумать допустимое слово, поэтому оставляете четыре буквы и перебрасываете только последний кубик, у которого на трёх гранях C. Тогда с вероятностью 50% можно будет составить итоговое допустимое слово PEACE, как на рисунке K.1.

При броске каждая грань кубика выпадает с одинаковой вероятностью. Каково ожидаемое число бросков для получения допустимого слова при оптимальной стратегии?

Входные данные

Первая строка содержит два числа $d$ и $w$, где $d$ ($1 \le d \le 6$) — число кубиков, а $w$ ($1 \le w \le 2 \cdot 10^5$) — число допустимых слов в словаре. Каждая из следующих $d$ строк содержит 6 символов, по одному для каждой грани кубика. Последние $w$ строк содержат $w$ различных допустимых слов словаря. Каждое слово состоит ровно из $d$ символов.

Все символы входных данных — заглавные буквы (A–Z) или цифры (0–9).

Выходные данные

Если допустимое слово можно составить, выведите ожидаемое число необходимых бросков при оптимальной стратегии. Иначе выведите impossible. Абсолютная или относительная погрешность ответа должна быть не более $10^{-6}$.

Примеры

Входные данные 1

5 8
ABCDEP
AEHOXU
AISOLR
ABCDEF
ABCSCC
PARSE
PAUSE
PHASE
POISE
PROSE
PULSE
PURSE
PEACE

Выходные данные 1

9.677887141

Входные данные 2

2 1
AAAAAA
BBBBBB
AB

Выходные данные 2

1.0

Входные данные 3

3 1
123456
123456
123456
666

Выходные данные 3

10.555444555

Входные данные 4

2 1
ABCDEF
GHI234
AB

Выходные данные 4

impossible

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.