Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 1
Регистрация: 06.06.2019
Сообщений: 26

Задача про Буратино

31.08.2020, 23:32. Показов 2678. Ответов 1

Студворк — интернет-сервис помощи студентам
Буратино бежит по полю в Стране дураков и срывает с выросших из его монеток деревьев деньги. За ним гонится Карабас-Барабас, так что времени обходить все деревья нет, можно только пробежать один раз из правого верхнего угла в левый нижний. При этом один раз за всё поле Буратино может воззвать к доброй лисе Алисе, которая добавит ему в карман число монет, равное удвоенной последней цифре текущей суммы у него в кармане. Проложите подходящий маршрут, и укажите, в какой момент лучше обращаться к Алисе.

Формат входных данных
Программа получает на вход через пробел r, c - количество строк и столбцов в матрице (количество рядом деревьев и деревьев в ряду). Потом r строк, каждая из которых состоит из c чисел, разделённых пробелами. Каждое число соответствует количеству монет, которые можно собрать с данного дерева. Все числа целые, в пределах от 1 до 100 включительно.

Формат выходных данных
Программа выводит на экран наибольшее количество монет, которое может собрать Буратино, если он будет идти от верхнего правого угла поля до нижнего левого угла включительно. Он может перемещаться только вниз и влево. При этом, когда он попадает на клетку с числом Х, количество монет у него увеличивается на Х. Также один раз после перехода в какую-то клетку дополнительно Буратино добавится 2Х монет, где Х - младшая цифра в количестве монет в его кармане на момент прихода в данную клетку.

После количества монет программа выводит маршрут Буратино, состоящий из букв Н (вниз), Л (влево), А (Алиса), суммарно букв должно быть r + c - 1. Буква А встречается в маршруте ровно один раз, при одинаковых итоговых суммах - как можно раньше. Буквы разделены пробелами.

Пример
Ввод
3 6
6 3 7 8 5 7
6 9 1 7 9 9
1 1 4 3 2 5

Вывод
67
Н Л Л Л Л Л Н А
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.08.2020, 23:32
Ответы с готовыми решениями:

Богатенький Буратино
Добрые друзья убеждают Буратино, что стоит ему посадить свой золотой на Поле чудес, как вырастет дерево с золотыми вместо листьев. Каждый...

задача про самолет (аналог задачи про рюкзак)
Мне хотелось бы, чтобы вы посоветовали и помогли мне, как правильно решить задачу. В самолет требуется погрузить n видов предметов,...

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

1
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
01.09.2020, 00:51
Стандартное применение динамического программирования.
Заполняете еще одно поле такого же размера. В клетке [i][j] будут храниться два числа: сумма сбора по клеткам и подарок от Алисы. Заполняется справа налево и сверху вниз. При заполнении клетки [i][j] мы должны анализировать клетку сверху и клетку справа и понять, с какого направления выгоднее попадать в клетку [i][j]. Алгоритм выбора, по-моему, очевиден. В итоге нижняя левая клетка будет содержать ответ. Потом восстанавливаем путь обратным просмотром и проходом пути вперед ищем место, где нужно поставить A.

Добавлено через 2 минуты
Для простоты восстановления пути можно в клетке [i][j] при заполнении таблицы сохранять еще направление, откуда мы в эту клетку пришли - сверху или справа.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.09.2020, 00:51
Помогаю со студенческими работами здесь

Задача про адреса и про данные в памяти
Добрый день, странный возможно вопрос, но мне он не дает покоя, как можно указать конкретное место в памяти, чтобы ссылка указывала точно...

Задача про Randomize и про проценты
Доброго времени суток. Возникла ещё одна задача, я думал что не сложная, как оказалось не знаю, как правильно решить. ...

Начисление пенсии для Буратино
1. Буратино весь свой трудовой стаж провел в литейном цехе. Про-работал он там 20 лет. За это время светлое полено, из которого он был...

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

Cканнер из сенсора Agilent ADNS2610 + Буратино
Здравствуйте, уважаемые! Недавно нашел вот такую интересную статью, как использовать сенсор от мыши в качестве сканера изображений...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru