M
MaTBeu
Здрасте. Вопрос у меня ламерский. Асм я только начал изучать, и с одним из первых заданий сразу же возникли проблемы. Короче задание у мя такое:
Дано множество точек на плоскости. Каждая точка может быть центром круга, заданного радиуса. Выяснить, какая точка, если нарисовать из нее круг, накроет этим кругом наименьшее количество других точек.
Короче со средствами ассемблера я разобрался. Догнать алгоритм не могу. Пробовал написать алгоритм на С++, а потом реализовать его на асме, токо ничего у меня не получилось.
************************
Моя версия алгоритма (слишком сложна)
Находим точку в матрице (матрица из "0" и "1". "1" - это точка), и проверяем, есть ли у нее соседи в диапазоне, равном радиусу круга. Если такие точки есть, то считаем их и заносим количество накрываемых точек в массив (отдельный), а когда пройдем всю матрицу, сравниваем элементы второго массива и находим среди них минимум.
************************
Я уверен, есть более простой алгоритм. Подскажите плиз!
Заранее спасибо.
Дано множество точек на плоскости. Каждая точка может быть центром круга, заданного радиуса. Выяснить, какая точка, если нарисовать из нее круг, накроет этим кругом наименьшее количество других точек.
Короче со средствами ассемблера я разобрался. Догнать алгоритм не могу. Пробовал написать алгоритм на С++, а потом реализовать его на асме, токо ничего у меня не получилось.
************************
Моя версия алгоритма (слишком сложна)
Находим точку в матрице (матрица из "0" и "1". "1" - это точка), и проверяем, есть ли у нее соседи в диапазоне, равном радиусу круга. Если такие точки есть, то считаем их и заносим количество накрываемых точек в массив (отдельный), а когда пройдем всю матрицу, сравниваем элементы второго массива и находим среди них минимум.
************************
Я уверен, есть более простой алгоритм. Подскажите плиз!
Заранее спасибо.