|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2017, 19:06 | #1 |
Пользователь
Регистрация: 30.11.2016
Сообщений: 22
|
Pascal. Перемещение по графику.
Имеется олимпиадная задача:
График. Робот. Начальная позиция робота на графике - 0 0. Перемещаться он может во все стороны света на 1 за ход (Север, Юг, Запад, Восток). На вход поступает число от 0 до 16, показывающее количество ходов, и координаты конечной точки. Написать программу, вычисляющую сколько возможных путей может быть у робота из точки 0 0 до места назначения, с использованием заданного количества ходов. Ни больше, ни меньше. Пример: Input - 3 1 0 Output - 9 Код напишу сам, помогите с алгоритмом. Заранее спасибо. |
17.01.2017, 22:20 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Поскольку максимальное количество ходов ограничено 16, то проще всего рекурсивно в глубину перебрать все возможные пути. Кода получилось всего строчек 10.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 17.01.2017 в 22:35. |
19.01.2017, 14:44 | #3 |
Пользователь
Регистрация: 30.11.2016
Сообщений: 22
|
Чего - то я очень туплю, не подскажите как реализовать этот перебор? Вот что у меня получилось:
Код:
|
19.01.2017, 15:36 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
попробуйте так:
Код:
|
19.01.2017, 18:05 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
К ответу Serge_Bliznykov добавлю, что вы верно добавили проверку на количество необходимых шагов. Без этой проверки код ниже выполнялся примерно 13 секунд на случае 16 шагов, и 2 секунды - с проверкой:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 19.01.2017 в 18:08. |
19.01.2017, 18:06 | #6 |
Пользователь
Регистрация: 30.11.2016
Сообщений: 22
|
|
19.01.2017, 18:19 | #7 |
Пользователь
Регистрация: 30.11.2016
Сообщений: 22
|
Всем большое спасибо. Все оказалось куда тривиальнее, чем я думал.
|
20.01.2017, 00:04 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перемещение по матрице( Free Pascal) | Nastya1221 | Помощь студентам | 0 | 04.07.2012 18:08 |
Перемещение запятой (Pascal) | Черепаwка | Помощь студентам | 1 | 14.05.2011 15:21 |
Массивы и построение таблицы значений х,у по графику (Turbo Pascal) | JIUMOH | Помощь студентам | 6 | 21.12.2009 20:30 |