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

mazaliaopera mazaliaopera    3   15.06.2019 19:50    14

Ответы
yana4ka3 yana4ka3  12.07.2020 20:48
Задача на динамическое программирование. Советую почитать поподробнее на эту тему в интернете. Подобные задачи для изучения: платная лестница, кузнечик, последовательность Фибоначчи.
#include <iostream>
#include <cmath>
using namespace std;
int main()  {
   int n;   
   cin >> n;   
   int height[n];   
   for(int i=0; i<n; i++)       
      cin >> height[i];    
   int energy[n];   
   for(int i=1; i<n; i++)
   energy[i] = energy[i-1] + abs(height[i]-height[i-1]);
   cout << height[n-1];
   return 0;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика