Предмет: Информатика, автор: XxJoTaRoxX

РЕШИТЬ ЗАДАЧУ НА ПИТОН!ПОЖАЛУЙСТА СРОЧНО!!!Покраска забора

У Васи на даче длина забора составляет N метров. Часть забора необходимо покрасить. При обследовании забор был разбит на N участков длиной 1 метр, и для каждого участка было определено, нуждается ли он в покраске или нет.

После того как валик для покраски пропитывается в ведре краской, им можно окрасить не более L

метров подряд. В том числе можно перекрашивать и участки в этом не нуждающиеся.

Определите, за какое количество подобных операций (пропитать валик краской и перекрасить не более L

метров) можно обновить забор так, чтобы все нуждающиеся в покраске фрагменты оказались окрашены.
Формат входных данных

Первая строка входных данных содержит целое число L
( 0
— что участок в покраске не нуждается.
Формат выходных данных

Программа должна вывести одно целое число — минимальное количество описанных действий, которое необходимо для перекраски забора.
Замечание

В тесте из примера за первое действие можно, например, перекрасить второй метр забора, а за второе — с 5
-го по 7

-й метр.
Ввод
Вывод

3
8
0
1
0
0
1
0
1
0

2

Ограничения

Время выполнения: 5 секунд
Процессорное время: 1 секунда
Память: 256 MB

Ответы

Автор ответа: nitroamogus227
0

Ответ:

def paint_fence(fence, L):

   count = 0

   i = 0

   while i < len(fence):

       if fence[i] == 1:

           j = i + 1

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

               j += 1

           count += 1

           i = j

       else:

           i += 1

   return count

fence = [3, 8, 0, 1, 0, 0, 1, 0, 1, 0]

L = 2

result = paint_fence(fence, L)

print(result)


XxJoTaRoxX: у меня почему то автоматом 3 выводит программа с данным кодом
Похожие вопросы
Предмет: История, автор: panasuksofia619
Предмет: Алгебра, автор: vovkasychev