1. Алгоритмы. Поиск наибольшего значения

Ойындар

Задача - придумать алгоритм, для быстрого поиска самого высокого столбика.
Робот знает только координаты каждого столба.
Робот может исследовать только пространство на расстояние один блок от собственного положения влево-вправо-вперед-назад
Робот не знает максимально возможной высоты столбов
Если нет самой игры Minecraft Education Edition, но есть идеи по алгоритму, оставляйте их в комментариях.
Офф страница покупки игры
education.minecraft.net/ru-ru...

Пікірлер: 18

  • @minecraftprogramming
    @minecraftprogramming22 күн бұрын

    Пока идёт мозговой штурм, я буду публиковать решения начиная с самого медленного. Они доступны на канале по ссылкам, чтобы избежать спойлеров для тех, кто ищет решение. 1) Агент проверяет высоту каждого столба, выбирает самый высокий. (kzread.info/dash/bejne/iot9mKyzca7XXaQ.html) 2) Агент проверяет высоту столбов, начиная с высоты самого высокого на текущий момент. (kzread.info/dash/bejne/YmWEzbJtf8ieZ7Q.html)

  • @the_best9470
    @the_best947022 күн бұрын

    круто

  • @monolit-8346
    @monolit-834622 күн бұрын

    Можно получить высоту всех столбиков в квадрате, в виде массива, и вернуть самое высокое значение. Интересно узнать решение.

  • @minecraftprogramming

    @minecraftprogramming

    22 күн бұрын

    Робот не знает высоту столбов, он знает только координаты каждого столба. Чтобы узнать высоту каждого столба ему нужно каждый из 196 столбов исследовать, это самый долгий способ решения. Еще есть предложения?

  • @romcorn3731
    @romcorn373122 күн бұрын

    Попытка вторая. Т.к. мы знаем корды всех столбов, то пройтись по всем им труда не составит. Высоту проверим следующим образом. Телепортируем вниз первого столб и на один блок влево, а после телепортируем вверх пока справа не пустота (каждый раз когда он телепортируется записываем его координаты (только их надо сместить вправо на 1 блок)). После телепортуремся на x,z слудещего столба оставляя прежний Y. И повторяем цикл для всех кординотов столбов. Таким образом он занимает наывысшое значение среди всех пройденых им. А последние переданые нам координаты и есть координаты столба, так ещё и его высота.

  • @minecraftprogramming

    @minecraftprogramming

    22 күн бұрын

    Да, это одно из самых быстрых решений

  • @maksim20128
    @maksim2012812 күн бұрын

    Привет. Подскажи как изначально ты строишь столбики с помощью кода чтобы высота у всех была разная и не повторялась?

  • @minecraftprogramming

    @minecraftprogramming

    12 күн бұрын

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

  • @mideks
    @mideks21 күн бұрын

    Нам в любом случае нужно извучить все столбики, потому что какой-то из них будет максимальной высоты, и мы не знаем какой. Поэтому, просто идём по всем столбикам, но... Сначала начинаем с высоты = 1. Если столбик выше этой высоты - поднимаемся до высоты столбика+1. Далее идём по всем столбикам на этой высоте. Если встретили снова блок на этой высоте - значит это новый самый высокий столбик. Ну и так топаем до конца)) ...если конечно можно по воздуху перемещаться 🤔🤔

  • @minecraftprogramming

    @minecraftprogramming

    21 күн бұрын

    Если в цифрах, то твой алгоритм предполагает 196 телепортаций от столбика к столбику + Z телепортаций на высоту самого высокого столба + 196 исследований блоков агентом. Как уменьшить эти значения?

  • @romcorn3731
    @romcorn373122 күн бұрын

    Не знаю как с этим роботом, но если я бы делал это на кб. То я бы проверял пустует ли плоскость в области на высоте робота, если нет то телепортируем выше и снова проверяем. Как найдём пустую плоскость проходимся по каждому столбу и останавливаемся когда под роботом будет блок

  • @monolit-8346

    @monolit-8346

    22 күн бұрын

    Судя по видео - высота столбиков ограничена. Можно начать проверять сверху вниз, начиная с значения максимальной высоты для столбика.

  • @minecraftprogramming

    @minecraftprogramming

    22 күн бұрын

    Робот не может проверить плоскость. Ему доступно для исследования только пространство слева-справа-впереди-сзади от собственной позиции (на один блок), в этом и сложность. Робот не знает максимальной высоты столба, знает только координаты каждого столба.

  • @Vorono4ka
    @Vorono4ka22 күн бұрын

    видео классное! но как получить эту версию майнкрафта?

  • @minecraftprogramming

    @minecraftprogramming

    22 күн бұрын

    вот офф страничка по лицензированию education.minecraft.net/ru-ru/licensing

  • @awuweweanecweweweubimubimosas
    @awuweweanecweweweubimubimosas22 күн бұрын

    Я не понимаю зачем создавать мод на недоязык программирования , если можно писать на нормальных языках как c++, C# , java , и.т.п???

  • @minecraftprogramming

    @minecraftprogramming

    22 күн бұрын

    Привет. Это не мод, а отдельная версия Майнкрафт для школ. Ученикам начальной школы писать на языках программирования высокого уровня еще слишком рано, а изучать азы на визуальном языке Scratch вполне доступно.

  • @awuweweanecweweweubimubimosas

    @awuweweanecweweweubimubimosas

    21 күн бұрын

    @@minecraftprogramming я так-то обучал велика из 4ого класса языку c# , он нормально всё понимает . Просто когда пишешь на таком языке как в Майне тяжело переходить на другой . Мне с c# и с++ было тяжело переходить на питон из-за другого синтаксиса в основном. А с такого языка на стандартные языки программирования будет сложнее

Келесі