profile
Размещено 2 года назад по предмету Информатика от Kirt14

Даю 20 баллов!!!
На плоскости заданы N (1 <= N <= 770) точек с номерами от 1 до N,
в точках с координатами (x,y) - x и y в диапазоне 0..15,000.
Спрашивается сколько групп из трех точек на одной прямой
существует на данном поле. Известно, что никакие две точки не имеют
одинаковые координаты. Выведите все такие тройки в порядке
возрастания номеров точек.
Формат вывода

Первая строка содержит одно целое число K - количество всех троек точек,
расположенных на одной прямой. Если у нас есть ровно 4 точки, расположенных
на одной прямой, то это дает четыре множества по три точки на одной прямой.
Каждая последуюшие K строк содержит три разделенных одиночными пробелами
целых числа - номера точек, расположенных на одной прямой. Строки
отсортированы в порядке описанном выше. Вывод должен быть пустым, если нет
точек расположенных на одной прямой.

Пример ввода

8
0 0
0 4
1 2
2 4
4 3
4 5
5 1
6 5
Пример вывода

1
1 3 4

  1. Ответ на вопрос
    Ответ на вопрос дан rosalinkey

    from collections import defaultdict

    def find_triples(points):

    n = len(points)

    # dictionary to store the point numbers

    groups = defaultdict(list)

    for i in range(n):

    for j in range(i + 1, n):

    for k in range(j + 1, n):

    if (points[j][1] - points[i][1]) * (points[k][0] - points[j][0]) == (points[k][1] - points[j][1]) * (points[j][0] - points[i][0]):

    # points are on the same line

    groups[(points[i], points[j], points[k])].append(i + 1)

    groups[(points[i], points[j], points[k])].append(j + 1)

    groups[(points[i], points[j], points[k])].append(k + 1)

    # sort the point numbers

    for group in groups:

    groups[group] = sorted(groups[group])

    return groups

    points = [(0, 0), (0, 4), (12, 24), (4, 3), (4, 5), (5, 1), (6, 5)]

    result = find_triples(points)

    print(len(result))

    for group in result:

    print(result[group])

    1. Ответ на вопрос
      Ответ на вопрос дан rosalinkey
      Вы не указали на чем именно вам нужно, так что да, питон
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.