
Python 3 В кинотеатре n рядов по m мест в каждом. В двумерном массиве хранится информация о
проданных билетах, число 1 означает, что билет на данное место уже продан, число 0 означает, что место свободно. Поступил запрос на продажу k билетов на соседние места в одном ряду. Определите, можно ли выполнить такой запрос.Программа получает на вход числа n≤30 и m≤30. Далее идут n строк, содержащих m чисел (0 или 1), разделённых пробелами. Затем дано число k.Программа должна вывести номер ряда, в котором есть k подряд идущих свободных мест. Если таких рядов несколько, то выведите номер наименьшего подходящего ряда. Если подходящего ряда нет, выведите число 0.

Ответы на вопрос

Ответ:
Прикреплён в текстовом файле. Здесь исходник в 90 строк будет очень убого отформатирован (кстати он в txt :()
Объяснение:
Красивого алгоритма не знаю для этой задачи, в итоге вышло много стратегий. Для теста можно раскоментить строки и поиграть с бОльшими числами, ну или через RAND набить себе данных
P.S.
Не забывайте нажать "Спасибо", поставить оценку, и если ответ удовлетворил, то выберите его как "Лучший" :)





Для решения данной задачи, вам нужно пройтись по каждому ряду и искать последовательность из k свободных мест. Если вы найдете такую последовательность в каком-либо ряду, то выведите номер этого ряда. В противном случае, выведите 0.
Вот пример кода на Python, который решает эту задачу:
pythondef find_seats(matrix, k):
n = len(matrix)
m = len(matrix[0])
for row in range(n):
consecutive_free_seats = 0
for seat in matrix[row]:
if seat == 0:
consecutive_free_seats += 1
if consecutive_free_seats == k:
return row + 1 # +1 так как номер ряда начинается с 1
else:
consecutive_free_seats = 0
return 0
# Чтение ввода
n, m = map(int, input().split())
matrix = []
for _ in range(n):
row = list(map(int, input().split()))
matrix.append(row)
k = int(input())
result = find_seats(matrix, k)
print(result)
Вы можете вставить данный код в вашу программу, и он будет считывать ввод, искать подходящий ряд и выводить результат.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili