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

Рассмотрите рисунки Как расположены оглавление в документах Назовите различия​


Рассмотрите рисунки Как расположены оглавление в документах Назовите различия​

Показать ответ
Ответ:
striyskiy1
striyskiy1
29.07.2021 13:02

Объяснение:

Эта задача сводится к задаче поиска пути на графе пространства состояний.

Состояние - положение черепашки на поле - (x, y).

Граф пространства состояний состоит из таких вершин-состояний, их количество N * M.

Переходов между вершинами всего два: R и D.

Здесь можно заметить, что прийти к одним и тем же вершинам мы можем разными путями. Например, путь из (0,0) в (1,1) можно расписать и как RD ((0,0) -> (0,1) -> (1,1)), и как DR ((0,0) -> (1,0) -> (1,1)), но это два разных маршрута.

Однако при неизменном ценовом листе максимальная стоимость и оный маршрут в любой клетке поля значение строго определённое и неизменное во времени.

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

Итак, для каждого состояния у нас есть два правила перехода. Рассчитывая максимальную стоимость маршрута для состояния (x,y) мы следуем алгоритму:

Если можем идти вправо, рассчитываем параметры для этого маршрутаЕсли можем идти вниз, рассчитываем параметры для этого маршрутаВыбираем между путями, если можем идти, или стоим, если уже не можемК выбранному варианту добавляем параметры текущего состояния

Если такой алгоритм применить к состоянию (0,0), то дойдем до (N, M) и получим максимальную цену и маршрут.

Код:

import re

from typing import List

cache = {}

def calculate_max_way_price(x: int, y: int, prices: List[List[int]], m:int, n:int):

   if (x, y) in cache:

       return cache[(x, y)]

   direction = ''

   cost = prices[y][x]

   x_cost, y_cost = -1, -1

   x_way, y_way = '', ''

   if x < m - 1:

       x_cost, x_way = calculate_max_way_price(x + 1, y, prices, m, n)

   if y < n - 1:

       y_cost, y_way = calculate_max_way_price(x, y + 1, prices, m, n)

   if not (x_cost < 0 and y_cost < 0):

       if x_cost > y_cost:

           cost += x_cost

           direction = 'R' + x_way

       else:

           cost += y_cost

           direction = 'D' + y_way

   cache[(x, y)] = (cost, direction)

   return cost, direction

MNtext = input('Enter N M: ')

MN = [int(x) for x in re.findall(r'\d+', MNtext)]

if len(MN) != 2:

   print("Input data error! It is not M and N")

   exit(-1)

N, M = MN[0], MN[1]

MAX_STEP_PRICE = 100

data = input('Enter all numbers separated by spaces. You must type ' + str(M*N) + ' elements:')

data = [int(x) for x in re.findall(r'\d+', data)]

if len(data) != N * M:

   print("Input data error! Too few/many numbers")

   exit(-2)

prices = []

for j in range(N):

   prices.append(data[M*j:M*(j+1)])

print(calculate_max_way_price(0, 0, prices, M, N))

0,0(0 оценок)
Ответ:
KiloMETR1336
KiloMETR1336
28.11.2022 07:56
1)Графический редактор–это программа, предназначенная специально для рисования и редактирования изображений. Точнее, программа позволяющая вам создавать настоящие шедевры живописи прямо на вашем компьютере, или редактировать уже за ранее готовые фотографии и изображения (простой пример возможностей редактора — убрать распространенный «эффект красных глаз»).
2)Растр — изображение, построенное из отдельных элементов (точек), как правило, расположенных регулярно. В большинстве приложений компьютерной графики, растровое изображение представляется двумерным массивом точек, цвет и яркость каждой из которых задаются независимо.
Пиксел — это наименьшая единица растрового изображения, получаемого с графических систем вывода информации (компьютерные мониторы, принтеры и т. д.)
4)Графический примитив - простейший геометрический объект, отображаемый на экране дисплея или на рабочем поле графопостроителя: точка, отрезок прямой, дуга окружности или эллипса, прямоугольник и т.п.
5)Векторная графика состоит из точек линий квадратов. Качество не ухудшается при увеличении. Используется в больших плакатах, гербах...
6)Качество растрового изображения зависит от размера изображения (количества пикселей по горизонтали и вертикали) и количества цветов, которые можно задать для каждого пикселя.
7)Растровая графика позволяет создать практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому без потерь в размере файла.
Распространённость — растровая графика используется сейчас практически везде: от маленьких значков до плакатов.
Высокая скорость обработки сложных изображений, если не нужно масштабирование.
Растровое представление изображения естественно для большинства устройств ввода-вывода графической информации, таких как мониторы (за исключением векторных устройств вывода), матричные и струйные принтеры, цифровые фотоаппараты, сканеры, а также сотовые телефоны.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота