Форум программистов, компьютерный форум, киберфорум
Информатика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 6

Олимпиадная задача по информатике

22.11.2014, 20:38. Показов 5282. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с задачей!

[Программа для робота]

Хемуль программирует робота, который может передвигаться по квадратному полю. Поле разбито на равные квадратные клетки так, что длина каждой стороны поля – ровно M клеток. Со свойственной ему педантичностью, Хемуль пронумеровал все клетки поля, присвоив каждой клетке уникальный номер. Поскольку робот Хемуля может передвигаться только в пределах поля, Хемуль решил записывать программу для управления роботом как набор номеров клеток в порядке, в котором робот должен их посетить, используя для записи каждого номера одинаковое минимально возможное количество бит. Никакой дополнительной информации кроме этой последовательности номеров программа Хемуля не содержит.

Снорк обратил внимание, что робот Хемуля за один ход может переместиться только в одну из восьми клеток, окружающих клетку, в которой он находился перед началом хода, и предложил записывать программу другим способом – как последовательность команд роботу на единичное перемещение в одном из восьми направлений. Для записи каждой команды на единичное перемещение Снорк решил использовать одинаковое минимально возможное количество бит. Перед первой командой на единичное перемещение Снорк решил записывать номер клетки, из которой робот начинает движение, также как и Хемуль, используя для записи этого номера минимально возможное количество бит. Никакой дополнительной информации кроме последовательности команд и номера первой клетки программа Снорка не содержит.

Снорк выбрал маршрут, в котором робот последовательно посещает 32 клетки, включая начальную и конечную клетку маршрута, и сравнил записи своей программы и программы Хемуля, описывающих этот маршрут. В результате сравнения Снорк обнаружил, что для хранения его программы требуется на 341 бит меньше, чем для хранения программы
Хемуля.

Определите, при каком максимальном размере поля это возможно. В ответе укажите одно целое число M – количество клеток по одной из сторон поля.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2014, 20:38
Ответы с готовыми решениями:

Олимпиадная задача по информатике
Снусмумрику очень нравятся красивые числа. Больше всего его привлекают числа-палиндромы, то есть такие числа, которые читаются одинаково...

Олимпиадная задача по информатике
На рисунке представлено монохромное изображение. Каждый пиксель изображения (маленький квадратик) – это 1 бит. Если бит имеет значение 0 –...

Олимпиадная задача по информатике
Роботы-кладоискатели A и B могут перемещаться по квадратному клетчатому полю размером 10 на 10 клеток. Каждое перемещение робота в соседнюю...

9
2687 / 2259 / 244
Регистрация: 03.07.2012
Сообщений: 8,227
Записей в блоге: 1
22.11.2014, 20:53
128, что в ней олимпиадного?
0
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 6
22.11.2014, 21:00  [ТС]
Ну она на олимпиаде была просто)
Можешь в кратце объяснить решение?
0
2687 / 2259 / 244
Регистрация: 03.07.2012
Сообщений: 8,227
Записей в блоге: 1
22.11.2014, 21:06
А зачем? Олимпиадные задачи - они для развития. А вы ни малейшийх усилий по решению не продемонстрировали. Значит, вам это не надо
0
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 6
22.11.2014, 21:07  [ТС]
zer0mail, я решил ее, просто:

Как я понял кол информации Снорка мы высчитываем = round(log2(m*m)+3*32, а у Хемеля = round(log2(m*m)*32.
При 128 получается разница же 338 бит, так как при 16348 клетках кол информации на клетку будет 14 бит

Поэтому и спросил помощи на форуме.
0
2687 / 2259 / 244
Регистрация: 03.07.2012
Сообщений: 8,227
Записей в блоге: 1
22.11.2014, 21:10
3*31, т.к первая клетка известна и нужно сделать 31 ход.
0
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 6
22.11.2014, 21:13  [ТС]
Спасибо!
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 3
22.10.2015, 08:00
Цитата Сообщение от Dannyknv Посмотреть сообщение
Как я понял кол информации Снорка мы высчитываем = round(log2(m*m)+3*32, а у Хемеля = round(log2(m*m)*32.
При 128 получается разница же 338 бит, так как при 16348 клетках кол информации на клетку будет 14 бит
Поэтому и спросил помощи на форуме.
откуда ты вообще этот логарифм взял???
0
Платежеспособный зверь
 Аватар для кот Бегемот
8959 / 4384 / 1652
Регистрация: 28.10.2009
Сообщений: 11,629
22.10.2015, 10:19
В олимпиадные задачи по информатике входят исключительно задания по программированию. Так что эта задача бесполезна при подготовке к олимпиаде. Разве только в школе...
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 3
22.10.2015, 10:23
да не важно. надо быть ко всему готовым. так что узнать решение не помешает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.10.2015, 10:23
Помогаю со студенческими работами здесь

Олимпиадная задача по информатике
Тофсла построил таблицу истинности логической функции от трех аргументов F(A,B,C) и обнаружил, что функция принимает истинное значение...

Олимпиадная задача по информатике
Большинство сетевых приложений построено по архитектуре клиент-сервер. Взаимодействие приложений через стек протоколов TCP\IP...

Олимпиадная задача на кодирование информации
Какое минимальное количество бит понадобится для того, чтобы закодировать все натуральные числа не превышающие числа 576p, если известно,...

Олимпиадная задача на шестнадцатеричную систему счисления
Запись некоторого натурального числа X в шестнадцатеричной системе счисления имеет ровно три значащих разряда. Это число увеличили в два...

Задача по информатике
Подбросьте идею как решить такую задачку:


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Создаем Telegram бот на TypeScript с grammY
run.dev 05.04.2025
Одна из его самых сильных сторон Telegram — это интеграция ботов прямо в экосистему приложения. В отличие от многих других платформ, он предоставляет разработчикам мощный API, позволяющий создавать. . .
Паттерны распределённых транзакций в Event-Driven микросервисах
ArchitectMsa 05.04.2025
Современные программные системы всё чаще проектируются как совокупность взаимодействующих микросервисов. И хотя такой подход даёт множество преимуществ — масштабируемость, гибкость, устойчивость к. . .
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер