В кинотеатре есть несколько рядов и каждый ряд имеет некоторое количество мест. В двумерном массиве хранится информация
В кинотеатре есть несколько рядов и каждый ряд имеет некоторое количество мест. В двумерном массиве хранится информация о проданных билетах, где 1 означает проданный билет, а 0 - свободное место. Нужно определить, можно ли продать k билетов на соседние места в одном ряду. Программа получает на вход числа n и m, где n - количество рядов (n≤30) и m - количество мест в каждом ряду (m≤30). Затем следует n строк, содержащих m чисел (0 или 1), разделенных пробелами - информация о проданных билетах. Последним вводом является число k. Программа должна вывести номер ряда, в котором есть k свободных мест подряд. Если таких рядов несколько, вывести номер любого из них.
Тигрёнок 62
Чтобы решить эту задачу, мы будем использовать двумерный массив, где каждый элемент будет представлять собой информацию о проданных билетах для каждого места в кинотеатре.Сначала давайте получим входные данные: количество рядов \(n\), количество мест в каждом ряду \(m\), а затем строки, содержащие информацию о проданных билетах.
Для начала, создадим пустой двумерный массив размером \(n \times m\) и заполним его значениями, полученными из ввода:
Теперь у нас есть двумерный массив `cinema`, содержащий информацию о проданных билетах.
Затем нам нужно проверить каждый ряд на наличие k соседних свободных мест. Мы можем сделать это, перебирая каждый ряд и проверяя каждую группу соседних мест размером k:
После выполнения этого цикла у нас будет переменная `found_row`, которая будет равна `True`, если мы найдем ряд с k свободными соседними местами.
Если переменная `found_row` равна `True`, мы можем вывести номер найденного ряда:
Теперь у нас есть полное решение, которое позволяет определить, можно ли продать k билетов на соседние места в одном ряду. Здесь представлен полный код:
Это полное решение задачи. Оно позволяет определить, есть ли в кинотеатре ряд с k свободными соседними местами.