MMatchOriel
Сценарії

Сценарії роботи з кодом · Максимальне двочасткове паросполучення

03
Продукт

Сценарії

Знайдіть паросполучення максимальної потужності між двома групами до 32 вершин за множинами дозволених ребер. Перевірте ізольовані вершини та перепризначення збільшувальним шляхом, відхиляючи хибні індекси без зміни множин.

01

Завантажте застосунок

Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.

02

Відкрийте папку проєкту

Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.

03

Підключіть і перевірте модель

Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

04

Перегляньте зміни та запустіть тести

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

Максимальне двочасткове паросполучення

Сценарії
def maximum_matching(edges, right_count):
    if type(right_count) is not int or not 0 <= right_count <= 32 or type(edges) not in (list, tuple) or len(edges) > 32:
        raise ValueError("matching.size")
    if any(type(row) not in (set, frozenset) or any(type(v) is not int or not 0 <= v < right_count for v in row) for row in edges):
        raise ValueError("matching.edge")
    owners = [-1] * right_count
    def augment(left, seen):
        for right in sorted(edges[left]):
            if right in seen:
                continue
            seen.add(right)
            if owners[right] == -1 or augment(owners[right], seen):
                owners[right] = left
                return True
        return False
    for left in range(len(edges)):
        augment(left, set())
    return sorted((left, right) for right, left in enumerate(owners) if left != -1)

Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

Робоче середовище з ШІ для коду

Тут починається ваша наступна ідея.

Завантажити для Windows ↗