Какой алгоритм для решения задачи нужно использовать?

Рейтинг: -1Ответов: 1Опубликовано: 17.01.2023

Подскажите пожалуйста как можно решить следующую задачу? введите сюда описание изображения

Вот мой код:

length = 0
x = '14 21 26 10 -9 -10 0 20 11 8 5 27 5 15 23 -7 18 3 2'
y = '2 -7 28 21 -6 21 10 24 -5 15 16 17 3 25 10 28 11 26 19'
lfx=[float(i) for i in x.split()]
difx = lfx[0]
for n in lfx[1:]:
    difx -= n
print(difx)
lfy=[float(i) for i in y.split()]
dify = lfy[0]
for n in lfy[1:]:
    dify -= n
print(dify)
length=(difx*difx+dify*dify)**(0.5)
print('{:.2f}'.format(length))

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

Ответы

▲ 0Принят
  1. Создаем списки.
x_arr = list(map(int, x.split()))
y_arr = list(map(int, y.split()))
  1. Перебираем индексы списков, начиная с индекса 1.
for i in range(1, len(x_arr)):
  1. Считаем длину отдельно отрезка.
line = ((x_arr[i]-x_arr[i-1])**2 + (y_arr[i]-y_arr[i-1])**2)**.5
  1. Добавляем длину отрезка к длине ломаной.
length += line
  1. Выводим результат
print(length)