Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2015, 12:02   #1
IgorZ1992
Новичок
Джуниор
 
Регистрация: 26.01.2015
Сообщений: 1
Радость Бизнес-классики, реализация задачи

Доброго времени суток, прошу помощи по решению задачи,а именно в помощи написанию реализации, мне не ясно: Каким образом можно собрать максимальное кол-во денег(есть ли какой-то алгоритм по проходу матрицы который позволит это осуществить),можно ли пройти матрицу с помощью комбинации вертикальной и горизонтальной змейки? если да, то каким образом нужно построить алгоритм чтобы он гарантированно находил решение?
Может ли кто-то дать наводки как стоит сделать решение?

Задача следующая:
Поле для игры в бизнес-классики представляет собой прямоугольник, состоящий из 3 * N клеток. В некоторых клетках лежит по одному рублю, в остальных - ничего нет. Играющий выбирает для начала игры одну из трех левых клеток и прыгает в нее. За один ход играющий перепрыгивает в одну из клеток, имеющих общую сторону с той, в которой он находится. При этом запрещено прыгать в те клетки, в которых он уже побывал. При очередном прыжке все деньги, собранные к этому моменту, удваиваются, а затем, если в новой клетке лежит рубль, то он прибавляется к имеющейся сумме денег. Считается, что в начале игры денег у играющего нет. Закончить прыжки надо в одной из трех правых клеток поля и при этом заработать как можно больше денег.

Требуется написать программу, которая по известному значению N и расположению рублей в клетках находит такую последовательность прыжков, при которой играющий заработает наибольшее количество денег. Если таких последовательностей несколько, то следует выбрать любую последовательность, количество прыжков в которой минимально.

Входные данные:
В первой строке входного файла с именем CLASS.IN записано натуральное число N (1 < N < 80). В каждой из последующих трех строк находится N чисел (0 или 1), описывающих расположение рублей в клетках первой, второй и третьей строки игрового поля соответственно. Единица обозначает наличие рубля в клетке, ноль - его отсутствие. Числа в каждой из этих трех строк входного файла расположены через пробел.

Выходные данные:
Выходной файл с именем CLASS.OUT должен содержать 2 строки. В первой строке должен находиться номер строки игрового поля (1, 2 или 3), с которой играющему следует начать игру. Вторая строка файла должна описывать последовательность прыжков. Каждый прыжок в этой последовательности нужно обозначить одним из следующих символов:

U - если в результате прыжка номер строки, на которой находится играющий, уменьшился на 1;
D - если номер строки увеличился на 1;
L - если номер столбца уменьшился на 1;
R - если номер столбца увеличился на 1.

Символы во второй строке выходного файла должны быть выведены без пробелов.

Пример входного файла:

4
1 1 1 0
1 1 1 0
1 1 1 1

Пример выходного файла для приведенного примера входного файла:
1
DDRUURDDRUU

Последний раз редактировалось IgorZ1992; 26.01.2015 в 13:01.
IgorZ1992 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация задачи в ООП Начинающий програм Помощь студентам 5 27.10.2012 17:15
Реализация задачи на С/С++ aspen Общие вопросы C/C++ 0 21.10.2012 15:40
проиграть на ассемблере какую-нибудь мелодию из классики -=Andriushka=- Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 02.12.2011 06:17
Реализация диалога выбора в Бизнес Пак Grandistok Общие вопросы Delphi 1 09.02.2010 22:32