Загадка про метро
Два зрителя Олимпийских игр стоят в очереди. У каждого из них есть копия карты парижского метро, и они придумали небольшую игру, чтобы скоротать время. Сначала игрок загадывает одну из линий метро (выбирая её равновероятно среди всех линий), а игроку нужно её угадать. Чтобы угадать, игрок многократно спрашивает, останавливается ли линия на выбранной им станции, и игрок честно отвечает на каждый вопрос. После достаточного количества вопросов игрок обычно сможет с уверенностью определить, какую линию загадал игрок . Разумеется, игрок хочет минимизировать количество вопросов, которые ему придётся задать.
Вам дана карта с линиями метро (пронумерованы от до ) и станциями (пронумерованы от до ). Для каждой линии указаны станции, на которых останавливается метро. Вычислите ожидаемое количество вопросов, которое следует задать игроку для определения загаданной линии, используя оптимальную стратегию.
Другими словами, пусть — некоторая стратегия, и обозначает количество вопросов, заданных в рамках этой стратегии, если загаданной линией оказалась линия . Тогда
обозначает математическое ожидание при равномерном выборе из множества всех линий метро. Ваша задача — вычислить . Если для игрока не всегда возможно с уверенностью определить загаданную линию, выведите "not possible".
Giriş verilənləri
Первая строка содержит число . Вторая строка содержит число . Далее следуют строк: в -й строке сначала записано положительное число , затем пробел и целых чисел — номера станций, на которых останавливается метро на линии . Линия останавливается на каждой станции не более одного раза.
Çıxış verilənləri
Выведите одно число — минимальное ожидаемое количество вопросов, которые игроку нужно задать, чтобы угадать загаданную линию, или "not possible" (маленькими буквами). Ответы с точностью до будут считаться верными.
Nümunələr
Пояснение к примеру 2. Сначала оптимально спросить о станции из-за симметрии задачи. Это позволяет отличить линию , которая останавливается на станции , от линий и , которые на ней не останавливаются. Если нужно, задаётся второй вопрос, чтобы различить линии и .
Игрок задаёт один вопрос, если загаданная линия — линия , и два вопроса в противном случае. Таким образом, ожидаемое количество вопросов, которое он задаст, равно .