• Предмет: Математика
  • Автор: aheevahursida
  • Вопрос задан 1 год назад

Придумайте несколько задач про игры на улице, которые решаются по этой схеме. Запишите решение к ожной из них

Ответы

Ответ дал: aesthetic01
1

Задача 1: На улице стоят N домов. Известно, что i-й дом покрашен в цвет Ci. Также известно, что между домами с одинаковым цветом есть прямая видимость. Определить, сколько домов с прямой видимостью у k-го дома.

Решение:

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

```

def solve(colors, k):

houses = [0] * len(colors)

for i in range(len(colors)):

if i != k:

if colors[i] == colors[k]:

houses[k] += 1

else:

houses[i] += 1

return houses.count(i for i in houses if i > 0)

```

В этом решении мы создали два массива - один для хранения цветов домов, а другой для подсчета количества видимых домов. Затем мы проходимся по каждому дому, сравнивая его цвет с цветом соседних домов.

Если цвет совпадает, мы увеличиваем счетчик видимых домов для этого индекса. В конце мы возвращаем количество домов, которые видны с текущего дома.

Вас заинтересует