• РЕШИТЬ ЗАДАЧУ НА ПИТОН!ПОЖАЛУЙСТА СРОЧНО!!!Покраска забора У Васи на даче длина забора составляет N метров. Часть забора необходимо покрасить. При обследовании забор был разбит на N участков длиной 1 метр, и для каждого участка было определено, нуждается ли он в покраске или нет. После того как валик для покраски пропитывается в ведре краской, им можно окрасить не более L метров подряд. В том числе можно перекрашивать и участки в этом не нуждающиеся. Определите, за какое количество подобных операций (пропитать валик краской и перекрасить не более L метров) можно обновить забор так, чтобы все нуждающиеся в покраске фрагменты оказались окрашены. Формат входных данных Первая строка входных данных содержит целое число L ( 0 — что участок в покраске не нуждается. Формат выходных данных Программа должна вывести одно целое число — минимальное количество описанных действий, которое необходимо для перекраски забора. Замечание В тесте из примера за первое действие можно, например, перекрасить второй метр забора, а за второе — с 5 -го по 7 -й метр. Ввод Вывод 3 8 0 1 0 0 1 0 1 0 2 Ограничения Время выполнения: 5 секунд Процессорное время: 1 секунда Память: 256 MB

Ответы 1

  • Для решения этой задачи можно использовать жадный алгоритм. Мы будем двигаться по забору, и если находим участок, который нужно покрасить, то пытаемся покрасить как можно больше участков, начиная с текущего, но не больше L метров. Затем переходим к следующему неокрашенному участку и повторяем эту процедуру, пока не окрасим все нуждающиеся в покраске участки.

    Вот код решения на Python:

    L = int(input())

    fence = list(map(int, input().split()))

    i = 0

    operations = 0

    while i < len(fence):

       if fence[i] == 0:

           i += 1

           continue

       j = i + 1

       while j < len(fence) and fence[j] == 1 and j - i + 1 <= L:

           j += 1

       i = j

       operations += 1

    print(operations)

    • Автор:

      jaden663
    • 1 год назад
    • 3
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years