С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 3
Регистрация: 04.12.2016
Сообщений: 60

У героя уходит |y2-y1| единиц энергии, где y1 и y2 – высоты, на которых расположены эти платформы

15.02.2017, 11:15. Показов 770. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие: У героя уходит |y2-y1| единиц энергии, где y1 и y2 – высоты, на которых расположены эти платформы. Кроме того, у героя есть суперприем, который позволяет перескочить через платформу, но на это затрачивается 3*|y3-y1| единиц энергии. Конечно же, энергию следует расходовать максимально экономно.
Предположим, что вам известны координаты всех платформ в порядке от левого края до правого. Сможете ли вы найти, какое минимальное количество энергии потребуется герою, чтобы добраться с первой платформы до последней?

Я где-то потерялся. И теперь не могу понять что сделал не так. Ибо подсчитывает минимальную проходку - странно.(Да и супер прыжки тоже подсчитывает странно.)
Help please.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <clocale>
 
using namespace std;
 
int main()
{
    int n;//Col-vo platform
    cout<<"Vvedite col-vo platform ";
    cin>>n;//Vvod
    int* CoordsY = new int[n];//massiv s coord. platform 
    int* MinE = new int[n];//massiv s min. eneregozatratami ot nachala platformi
 
    //Vvod
    for(int i=0; i<n;i++)
        cin>>CoordsY[i];
 
 
    MinE[0]=0;//S nylevoi pozicii energiya ne tratitsya
    MinE[1]=abs(CoordsY[1]-CoordsY[0]);//Analogichno
 
    int E1,E2;//Energii pri raznih slychayah
    for (int i=2;i<n;i++)//Poisk vseh oslanih
    {
        E1=abs(CoordsY[i]-CoordsY[i-1]); //Energiya pri obichnom prijke
        E2=3*abs(CoordsY[i]-CoordsY[i-2]); //Energiya pri SUPER prijke
 
        //Nahodim minimal'nyu energiu kotoryu mojet zatratit' igrok
        if (E1+MinE[i-1]<E2+MinE[i-2])// Eslu vigodnee prignyt' s blijaywei, to
            MinE[i]=E1+MinE[i-1];//prigaem s blijaiwey
       else // a esli vigodnee prignyt' s dal'ney 
           MinE[i]=E2+MinE[i-2];//to prigaem s dal'ney
    }
 
    //Vivod
    cout<<"zatrachennoi energy obichnimi prijkami " << E1 <<endl ;
    cout<<"zatrachennoi energy super prijkami " << E2 <<endl ;  
    cout<<"minimum zatrachennoi energy  "<<MinE[n-1];
 
    system("pause >> void");
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2017, 11:15
Ответы с готовыми решениями:

У героя уходит |y2-y1| единиц энергии, где y1 и y2 – высоты, на которых расположены эти платформы
using System; using System.Collections.Generic; private int abc(int a) { if (a &gt; 0) {

Пересечение героя и платформы на основе расчета параметров прямоугольников
Ситуация такова. Есть платформа. Есть анимированый спрайт, который изначально появляется выше платформы (столкновений между ними нет). Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
15.02.2017, 12:49
Цитата Сообщение от sandydark Посмотреть сообщение
Ибо подсчитывает минимальную проходку - странно.
Есть пример входных данных, на которых просчитывается неверно?

Цитата Сообщение от sandydark Посмотреть сообщение
(Да и супер прыжки тоже подсчитывает странно.)
так ты Е1 и E2 меняешь на каждом цикле - конечно они не будут содержать энергии затраченные на обычные и суперпрыжки
0
1 / 1 / 3
Регистрация: 04.12.2016
Сообщений: 60
15.02.2017, 17:17  [ТС]
Nikitko_Cent, Подскажите пожалуйста,что там нужно подправить.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
15.02.2017, 17:52
Вроде всё должно нормально считать. Только непонятно зачем Е1 и Е2 выводить.
Цитата Сообщение от sandydark Посмотреть сообщение
C++
1
2
3
4
cout<<"zatrachennoi energy obichnimi prijkami " << E1 <<endl ;
cout<<"zatrachennoi energy super prijkami " << E2 <<endl ;
cout<<"minimum zatrachennoi energy *"<<MinE[n-1];
system("pause >> void");
Вот это все заменить на
C++
1
cout << MinE[n-1];
потому что это олимпиадная задача(по формату) а там запрещено выводить комментарии и нужно выводить просто число.
Цитата Сообщение от sandydark Посмотреть сообщение
C++
1
2
int* CoordsY = new int[n];//massiv s coord. platform 
int* MinE = new int[n];
C++
1
2
delete[] CoordsY; // освободить память еще забыли
delete[] MinE;
Лучше конечно вместо этого либо использовать обычные массивы либо std::vector.

Добавлено через 2 минуты
Цитата Сообщение от sandydark Посмотреть сообщение
C++
1
cout<<"Vvedite col-vo platform ";
Ну и это тоже лучше убрать если проверяет программу робот, а не человек.
1
1 / 1 / 3
Регистрация: 04.12.2016
Сообщений: 60
16.02.2017, 11:19  [ТС]
Новичок, Cпасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru