Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Задача про Лестницу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где графику делать? http://www.cyberforum.ru/cpp-beginners/thread797089.html
Всем доброго времени суток! Собственно вопрос в следующем. Курсовая работа по программированию - разработать приложение для игры в Рассаду. головоломка такая. надо сделать с графическим...
C++ Одномерные массивы (найти количество элементов, отличающихся от среднего арифметического не более чем на 5%) В одномерном массиве, состоящем из n вещественных элементов, найти количество элементов, отличающихся от среднего арифметического не более чем на 5%. http://www.cyberforum.ru/cpp-beginners/thread797085.html
C++ Шаблон класса
Приветствую. Есть глупый вопрос. Имеется класс: #pragma once #include "support.hpp" template <typename at> class ellipse {
C++ Программа в IDE Eclipse (написать программу которая выводит на консоль геометрическую фигуру: прямоугольник)
написать программу которая выводит на консоль геометрическую фигуру: прямоугольник. более в задании ничего не указано, видимо не принципиально какой язык java или С++
C++ Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread797081.html
f (x)=ln(sin(x)) Помогите пожалуйста написать программу а то я нифига не понял как сделать!!!!!!!!!
C++ Класс "Динамический одномерный массив целых чисел" Задача заключается в том что нужно Создать класс - одномерный динамический массив целых чисел. Перегрузить оператор класса, оператор ввода - - для этого класса с помощью дружественной функции. В... подробнее

Показать сообщение отдельно
fetchhell
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 5

Задача про Лестницу - C++

28.02.2013, 13:02. Просмотров 1660. Ответов 5
Метки (Все метки)

Условия формулируются так:

Есть лестница высотой в n ступенек (плюс «нулевая» - площадка, где мы стоим вначале). На каждой ступеньке написано число (положительное или отрицательное). На стартовой площадке и на последней ступеньке - нули. Можно ступать либо на следующую ступеньку либо перескакивать через одну. Напишите алгоритм, определяющий, как надо шагать, чтобы сумма чисел на пройденных ступеньках (тех, на которые мы ступали) была максимальна.

Мой код:

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<vector>
#include<cstdio>
 
using namespace std;
 
vector<int> stairs;
 
int main()
{
    int n = 0;
    cin >> n;
 
    stairs.resize(n + 2);
 
    for(int i = 0; i < n + 2; i++)
    {
        int num;
        scanf("%d", &num);
        stairs[i] = num;
    }
 
    int cur=0, sum=0;
 
    while(cur < n)
    {
        if(stairs[cur + 1] == stairs[cur + 2] || stairs[cur + 1] < stairs[cur + 2])
        {
            sum += stairs[cur + 2];
            cur += 2;
        }
        else 
        {
            sum += stairs[cur + 1];
            cur += 1;
        }
    }
 
    printf("%d\n", sum);
 
    //system("pause");
    return 0;
}
На вход подается кол-во ступенек и числа на них.
Формат такой:

4
0 -58 -39 93 -92 0

я указываю, что на нулевой ступеньке число =0 и на последней=0
выход - максимальная сумма ступенек.

Мне задачу забраковали. Сказали, что в ней ошибка.

Может быть её и нет. (Я склоняюсь к этому варианту) Программу проверяли видимо руками, тест на котором не верно - не сказали.

Я вводила несколько тестов, и моя программа выдавала верный результат. Верную сумму.
Не подскажете в чем может быть проблема? И существует ли эта ошибка впринципе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru