0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 3

Варианты движения по координатному полю

22.10.2023, 17:49. Показов 563. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, третий день не даёт задачка покоя, помогите решить:
есть условное поле, например 3 на 2
в углу стоит человек, ему нужно попасть в противоположный угол, двигаться можно по одной клетке вверх-вниз-вправо-влево, не наступая на клетки, на которые уже становился. Нужно вывести все возможные пути. На поле 3 на 2 возможны 4 маршрута, вот как это всё выразить...
Задачка мне показалась простой, но что-то я уже в такие дебри начал лезть, что самому страшно, уверен, решение очень простое
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2023, 17:49
Ответы с готовыми решениями:

Вывод движения фишки по полю
Фишка может двигаться по полю длины n только вперед. Длина хода фишки не более k. Вывести на экран различные пути, по ко- торым фишка может...

Вычисление траектории движения шайбы и ее скорость перемещения по игровому полю
Здравствуйте, уважаемые форумчане! Подскажите пожалуйста. Имеется самодельный стол для аэрохоккея. На него установлена usb-камера ,...

Подсчет уникальных значений по полю с фильтром по другому полю
Добрый день! Есть два столбца. Хочу посчитать количество строк, но по первому условию отобрать записи в ячейках которых встречается...

2
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
22.10.2023, 22:04
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
i_dim = 3
j_dim = 2
 
def go(p,old=[]):
    if p in old:
        return 0
    old.append(p)
    i = p[0]
    j = p[1]
    if not (i in range(i_dim) and j in range(j_dim)):
        return 0
    if i == i_dim-1 and j == j_dim-1:
        return 1
    return go((i-1,j), old.copy()) + go((i+1,j), old.copy()) + go((i,j-1), old.copy()) + go((i,j+1), old.copy())
 
print(go((0,0)))
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
23.10.2023, 15:50
Ну или так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
i_dim = 3
j_dim = 2
 
def go(p, old=[]):
    if p in old:
        return 0
    old.append(p)
    i,j = p
    if not (i in range(i_dim) and j in range(j_dim)):
        return 0
    if i == i_dim - 1 and j == j_dim - 1:
        return 1
    res = 0
    for ii in range(i-1, i+1+1):
        for jj in range(j-1, j+1+1):
            if abs(ii-i) + abs(jj-j) == 1:
                res += go((ii,jj), old.copy())
    return res
 
print(go((0, 0)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2023, 15:50
Помогаю со студенческими работами здесь

Сортировка структуры по полю Tag и по полю Eng
Есть структура: struct _1C { string Tag; string Rus; string Eng; _1C(const string &Tag, const string &Rus, const string...

Фильтр по полю Дата и полю Время
Добрый вечер! Очередная проблема. Подскажите пожалуйста! Есть таблица с наименованием работы. Есть поле с датой окончания работ и поле...

Написать програму для движения мерцающего круга по эллипсу (анимация движения)
Добрый день,передо мной стоит задача : Написать програму для движения мерцающего круга по эллипсу.Проблема в том,что не могу сообразить как...

Через случайное количество тактов движения изменять направление движения
Помогите пожалуйста. Движение вдоль периметра экрана. Через случайное количество тактов движения изменять направление движения. ...

Тормозящий момент силы, время равнозамедленного движения и кинетическую энергию в начале движения
Сплошной шар массой 1,5 кг и радиусом 0,05 м, вращается вокруг оси, проходящей через его центр. В точке, наиболее удаленной от оси...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru