Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 905
1

Задача про балкончики

29.05.2016, 18:58. Показов 767. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужен алгоритм решения данной задачи:
Кликните здесь для просмотра всего текста
Вступление
Мы блуждаем по зеркальному лабиринту минут двадцать, и, наконец, выходим в большой зал. Тоже зеркальный. А под потолком — балкончики, на которых стоят монстры. Таких я ещё не видел — огромные выпуклые глаза, длинные руки, цепко сжимающие винтовки, чешуйчатое тело. В остальном — вполне человекообразные… Гвардия палит в меня с балкончиков, я тоже стреляю. «BFG-9000» выжигает три зеркала одним залпом. Помещение наполнено серебряным дымом. Пули колотят по броне, сбивая меня на пол. Стреляю в падении, вращаюсь на спине словно в забытом танце своей юности — «брейке», ещё два раза стреляю. Три зеркала, три зеркала, три зеркала…

Задача
За один залп BFG-9000 уничтожает три соседних балкончика. (N-й балкончик соседствует с первым). После залпа оставшиеся в живых монстры наносят Леониду (главному герою романа) повреждения — по одной единице каждый. Далее следует новый залп и так до тех пор, пока все монстры не погибнут. Требуется определить минимальные повреждения, которые может понести Леонид.
Исходные данные
Первая строка содержит целое число N, количество балкончиков, на которых монстры заняли круговую оборону. 3 ≤ N ≤ 20. Во второй строке даны N целых чисел, количества монстров на каждом балкончике (на каждом не менее 1 и не более 100).
Результат
Выведите минимальное количество единиц повреждений

Будет ли правильным решением просто перебрать все случаи 123 234 345...N12 ? т.е удалять поочередно тройку, которая больше всего наносит урона?

Добавлено через 1 час 18 минут
ок. Приведу пример. Пусть такие входные данные:
8
23782551

вот такие тройки:
237 378 782 825 255 551 512 123 подсчитав сумму видим что 378 самая большая = 18. От общей суммы вычитаем 18 чтобы найти урон который по тебе пришел. Так же эти элементы обнуляю
Далее получаем 20002551
тройки:
200 000 002 025 255 551 512 120 видим что 255 самая большая = 12. От старой суммы вычитаем 12 чтобы увидеть какой пришел урон и т.д.
Вопросы:
1) Этот алгоритм вообще верный для данной задачи?
2) Если да. Как обращаться к элементам массива например [i-1][i][i+1] а как в случае если последний элемент + 1 я уйду за пределы выделенной памяти а мне надо допустим чтобы последний элемент массива + 1 давал [0] и так же в обратную сторону [0-1] давал последний.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2016, 18:58
Ответы с готовыми решениями:

Задача про взлом кода из книги Эрика Фримена про основы javascript в конце 5 главы.
читаю книгу Эрика Фримена про основы javascript.В конце 5 главы есть задачка про взлом кода.Никак...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он...

Задача про IP
Простите что не совсем в тему , но у меня ответ 97.15.81.53/15 , но говорят это неправильно ...

Задача про шары
В трех урнах по 8 черных и 2 белых шара в каждой, а в двух других по 6 черных и 4 белых. наугад...

0
29.05.2016, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2016, 18:58
Помогаю со студенческими работами здесь

Задача про олимпиаду
Доброго времени суток. Есть такая интересная задача: В финал олимпиады по программированию...

Задача про водопровод
Город Восточный постоянно страдает от недостатка воды. Для устранения этой проблемы была построена...

Задача про время
Пользователем задаются часы и минуты, выяснить, через, сколько минут часовая и минутная стрелка...

Задача про шары
Уважаемые форумчане! Помогите пожалуйста с решением следующей задачи: В ящике 10 красных, 15...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru