козлов
?>

Составить программу для нахождения времени когда известен путь и скорость)

Информатика

Ответы

ludakamasana
Var skorost,pyt:real;
begin
writeln('Скорость равна = ');
read(skorost);
writeln('Путь равен = ');
read(pyt);
writeln('Время равно = ',pyt/skorost);
end.
strelnikov-aa
1. компьютерная графика  – это наука, один из разделов информатики, изучающая способы формирования и обработки изображений с компьютера. 2. ве́кторная гра́фика  — способ представления объектов и изображений в  компьютерной графике, основанный на описании элементарных объектов, обычно называемых  примитивами, таких как: точки, линии,  сплайны,  кривые безье, круги и окружности,  многоугольники. объекты векторной графики являются графическими изображениями объектов. термин "векторная графика" используется для пояснения различий от  растровой графики, в которой изображение представлено в виде графической матрицы. 3. плоттер  (графопостроитель) — устройство для автоматического вычерчивания с большой точностью рисунков, схем, сложных чертежей, карт, трехмерных изображений и другой графической информации на бумаге размером до a0. так же как и у принтеров, изображение на бумаге формируется при печатающей головки.
zimbickij19

Объяснение:

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

Состояние - положение черепашки на поле - (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))

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить программу для нахождения времени когда известен путь и скорость)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ser7286
Александрович686
Yelena_Irina826
scraer198258
uchpaot
APerova3464
mirsanm26249
evrotrastop64
ale-protasov
Макаров1887
annapiskun1
stomcom01
Виталий_Ильназ574
Ромеовна1527
chuev4444