Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2022, 04:07   #1
F1nfactory
Новичок
Джуниор
 
Регистрация: 21.12.2022
Сообщений: 4
По умолчанию Новогодняя гирлянда

Условие

В гирлянде из n лампочек некоторые горят, а остальные*— перегорели. Какое наименьшее число неисправных лампочек нужно заменить, чтобы среди любых*x подряд идущих лампочек хотя бы*y*горели?

Формат входных данных

Первая строка входного файла содержит натуральное число*n*— количество лампочек в гирлянде. Вторая строка содержит*n*цифр*0*и*1*— состояние лампочки:*0*— перегорела,*1*— нет. Третья строка содержит два натуральных числа x и*y записанных через пробел.

Формат выходных данных

Выведите одно неотрицательное целое число*— ответ на вопрос задачи.
F1nfactory вне форума Ответить с цитированием
Старый 21.12.2022, 06:31   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 736
По умолчанию

Когда уже * перестанет писать? Да и язык надо указать. Да и самому надо попробовать.
Cuprum5 вне форума Ответить с цитированием
Старый 21.12.2022, 06:36   #3
F1nfactory
Новичок
Джуниор
 
Регистрация: 21.12.2022
Сообщений: 4
По умолчанию

Случайно ставил *. Язык на питоне. Пытался часа 2, не получается
F1nfactory вне форума Ответить с цитированием
Старый 21.12.2022, 21:56   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Если гирлянда без заморочек (контроллера), то починить надо все перегоревшие, иначе они не будут гореть.
А если у нее есть контроллер, тогда надо еще указать количество цепей.
macomics вне форума Ответить с цитированием
Старый 21.12.2022, 23:36   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Есть гирлянды и с параллельным подключение лампочек и без контроллера.
Не знаю как сегодня, но видел такие, у которых лампочка с биметаллической пластинкой.
Включил - горят все, потом начинают случайным образом отключаться и включаться.
Со светодиодами - вообще несколько проводов. Также несколько проводов для цветных лампочек.

Шутка имеет место быть, но ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 23.12.2022, 18:03   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Получилось так:
Код:
fh = open(r'НовогодняяГирлянда.txt', 'rt')    # Инициируем чтение файла
n = int(fh.readline())                        # Читаем строку (читаем по одной строке)
s = fh.readline()
s_g = list(s)                                 # Работаем со списком
x, y = fh.readline().split()
x = int(x); y = int(y)

# Смотрим начальный участок
n_bd = 0                                      # Перегоревших
for i in range(x):
    if s_g[i] == '0':
        n_bd += 1                             # перегорело

lamp_min = n_bd                               # Пусть это минимум
pos_min = 0                                   # Позиция участка с минимальным числом перегоревших

# Ищем минимум, передвигая участок на одну позицию
if n_bd:                                          # Есть перегоревшие
    for i in range(x, n):                         # Продвигаем участок на одну позицию
        if s_g[i - x] == '1' and s_g[i] == '0':
            n_bd += 1                             # Добавилась перегоревшая
        elif s_g[i - x] == '0' and s_g[i] == '1':
            n_bd -= 1                             # Добавилась не перегоревшая
            if not n_bd:                          # Обнаружена цепочка из не перегоревших
                lamp_min = 0
                pos_min = i - x
                break

        if lamp_min > n_bd:
            lamp_min = n_bd                       # Фиксируем минимум
            pos_min = i - x                       # и позицию участка
        
print(lamp_min, pos_min)
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новогодняя открытка на Паскале abc BitMaker Помощь студентам 0 04.12.2016 17:02
Новогодняя ёлка 2014! Alar Свободное общение 86 07.01.2014 21:41
У кого какая новогодняя ёлка? Вадим Мошев Свободное общение 26 07.01.2012 14:15
Новогодняя Открытка С.М.С Софт 10 30.12.2009 22:48
Новогодняя анимация) Гладиолус Помощь студентам 8 20.12.2009 16:37