@smarthomeblog

Как посчитать квадраты на разлинованной странице?

Собственно квадраты надо посчитать тут:

5c8e88c49b38f543813585.jpeg

Может есть алгоритм или подход или паттерн.
Заранее спасибо.
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
longclaps
@longclaps
from collections import Counter
from itertools import combinations


def HowManySquares(xx, yy):
    """
    :param xx: отсортированые x-координаты вертикалей
    :param yy: отсортированые y-координаты горизонталей
    """
    ww = Counter(b - a for a, b in combinations(xx, 2))
    hh = Counter(b - a for a, b in combinations(yy, 2))
    return sum(c * hh[w] for w, c in ww.items())


print(HowManySquares([0, 2, 3, 4, 5, 6], [0, 2, 3, 4, 6]))  # 31
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Яндекс Москва
от 100 000 до 300 000 руб.
Original Works Самара
от 30 000 до 50 000 руб.
Xored Software Inc. Новосибирск
от 80 000 до 140 000 руб.