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

0 голосов
106 просмотров

Вася придумал игру, в которой герой должен добраться до финиша, прыгая по платформам. Прыжок может быть на соседнюю или через одну платформу. В первом
случае затрачивается |х2-х1|, а во втором 3*|х2-х1| единиц энергии, где х1 и х2- высоты платформ, с которой и на которую совершается прыжок. Какое минимальное количество энергии герой потратит, чтобы перебраться на конечную платформу, начав с первой?


Информатика (97 баллов) | 106 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Задача на динамическое программирование. Советую почитать поподробнее на эту тему в интернете. Подобные задачи для изучения: платная лестница, кузнечик, последовательность Фибоначчи.
#include
#include
using namespace std;
int main()  {
   int n;
   
   cin >> n;
   
   int height[n];
   
   for(int i=0; i       
      cin >> height[i];
    
   int energy[n];
   
   for(int i=1; i
   energy[i] = energy[i-1] + abs(height[i]-height[i-1]);

   cout << height[n-1];</span>
   return 0;

}

(1.1k баллов)
0

А реально ли решить задачу иным способом, без паскаля и ему подобных?

0

Не очень понял, о каком паскале идёт речь.

0

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

0

Вероятно, никак.

0

кроме подсчётов " в лоб "

0

ответ?