+ Ответить в теме
Показано с 1 по 2 из 2

Тема: Алгоритм перебора точек

  1. #1
    rewweRrr is on a distinguished road
    Регистрация
    16.03.2014
    Сообщений
    1
    Вес репутации
    0

    Question Алгоритм перебора точек

    Есть точки:
    (0,1) (0,2) ... (0,n)
    (1,1) ... (1,m)
    ...
    (L,1) (L,1) ... (L, k)
    координата Y может принимать значения от 1 до n, m, ... k соответственно. А координата Х меняется от 0 до L. Мне нужно перебрать всевозможные комбинации точек (без повторений) длинной 3, 4, 5... Х так, чтобы в 1ой комбинации не повторялись точки с одинаковой координатой X.

    Пример:
    Даны точки:
    (0,1) (0,2)
    (1,1)
    (2,1) (2,2) (2,3)
    (3,1)

    Возможные последовательности:
    Из 3х точек: (0,1)(1,1)(2,1)____Из 4х точек (0,1)(1,1)(2,1)(3,1)
    ___________(0,1)(1,1)(2,2)_______________(0,1)(1,1 )(2,2)(3,1)
    ___________(0,1)(1,1)(2,3)_______________(0,1)(1,1 )(2,3)(3,1)
    ___________(0,1)(1,1)(3,1)_______________(0,2)(1,1 )(2,1)(3,1)
    ___________(0,2)(1,1)(2,1)_______________(0,2)(1,1 )(2,2)(3,1)
    ___________(0,2)(1,1)(2,2)_______________(0,2)(1,1 )(2,3)(3,1)
    ___________(0,2)(1,1)(2,3)
    ___________(0,2)(1,1)(3,1)
    ___________(1,1)(2,1)(3,1)
    ___________(1,1)(2,2)(3,1)
    ___________(1,1)(2,3)(3,1)

    Хочется получить хороший алгоритм. Я понимаю, что можно перебирать всевозможные комбинации по X потом, зная количество точек циклами пробегать по Y. Но эт долго и не клево =(
    Есть какие-нибудь идеи?

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Moderator Куратор
    system architect
    Romeo is on a distinguished road Аватар для Romeo
    Регистрация
    02.03.2004
    Адрес
    Крым, Севастополь
    Возраст
    37
    Сообщений
    3,091
    Вес репутации
    22

    По умолчанию Re: Алгоритм перебора точек

    Тема перемещена из раздела "С и С++".
    Entites should not be multiplied beyond necessity @ William Occam
    ---
    Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
    ---
    Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

+ Ответить в теме

Похожие темы

  1. Множества точек
    Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри треугольника ABC содержалось максимальное количество...
    от belichkina в разделе задачи на C и C++
  2. Даны N точек на плоскости...
    реализовать программу надо в C# точки задаются с помощью компонента datagridview (dgv) Даны N точек на плоскости(N>=4). Выяснить, найдутся ли...
    от siberian_lynx в разделе C и C++
  3. Алгоритм Дейкстры, итерационный алгоритм
    Всем привет, помогите пожалуйста кто чем может. Есть задание: пакет, содержащий n программ выполняется однопрограммной ЭВМ. Известна длительность...
    от arogosul в разделе Алгоритмы
  4. Функция перебора чисел.
    Зраствуйте. Нужна функция перебора чисел. Задача стоит так: Есть массив из k элементов(k<=10) типа int. в каждую ячейку записан символ от 0 до...
    от syrok в разделе C и C++

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения