Задача Квадратики из Турнир Stavsu RCI 2007 - март
Автор
Сообщение
Zakhr Новичок
Зарегистрирован: 24.08.2006 Сообщения: 12
Добавлено: 11.04.2007 21:29:53Какие есть предложения как её можно решить?
admin Администратор
Зарегистрирован: 09.03.2006 Сообщения: 132
Добавлено: 12.04.2007 12:08:55В задании требовалось найти максимальное количество квадратиков, помещающееся в круг => центр круга не обязательно лежит в геометрическом центре сетки квадратиков. Делаем шаг для центра квадратиков = корень из точности, перебираем положение центра и это решение уже проходит. Схожее с авторским - решение infom.
Zakhr Новичок
Зарегистрирован: 24.08.2006 Сообщения: 12
Добавлено: 12.04.2007 17:39:48Я понял, что для решения этой задачи надо вокруг окружности описать квадрат размеры которого равны 2*R x 2*R. Далее проводится дискретизация этого пространства на маленькие прямоугольники H x H, затем в нашей сетке пройзводится перебор каждой клетки. Каждая клетка это квадрат который характеризуется своими вершинами для того чтобы узнать принадлежит ли он окружности необходимо проверить эти четыре точки если они все принадлежат, то увеличеваем число квадратиков на единицу и переходим к следующему квадрату, иначе (т.е. хотя бы одна т. не принадлежит окружности) то переходим к следующему квадрату H x H, таким образом произведём перебор всех квадратов из 2*R x 2*R и подсчитаем число входящих в окружность.
admin Администратор
Зарегистрирован: 09.03.2006 Сообщения: 132
Добавлено: 12.04.2007 17:43:47они не обязательно в прямоугольнике.
например был такой тест (№3).
когда радиус=2, сторона квадрата=1.
вместится 7 квадратиков!
Zakhr Новичок
Зарегистрирован: 24.08.2006 Сообщения: 12
Добавлено: 13.04.2007 22:33:12Не понятно как получилось 7 по вышеуказанному алгоритму который я описал чуть выше получается только 4.
admin Администратор
Зарегистрирован: 09.03.2006 Сообщения: 132
Добавлено: 13.04.2007 22:52:51Нарисуйте в слое одном фотошопа сетку (ширина=1), в другом - круг с радиусом 2. И подвигайте один слой относительно другого.