MMatchOriel
Arbeitsabläufe

Arbeitsabläufe für Code · Maximales bipartites Matching

03
Produkt

Arbeitsabläufe

Finde ein Matching maximaler Größe zwischen zwei Gruppen mit jeweils höchstens 32 Knoten anhand erlaubter Kantenmengen. Prüfe isolierte Knoten und Neuzuordnung über einen augmentierenden Pfad, lehne ungültige Indizes ohne Änderung der Mengen ab.

01

Anwendung herunterladen

Wählen Sie einen Ordner und lassen Sie die betreffenden Dateien vor einer Änderung lesen. Legen Sie Ziel und Grenzen der Aufgabe fest.

02

Projektordner öffnen

Wählen Sie einen kompatiblen Endpunkt. Verfügbare Werkzeuge und Antwortqualität hängen vom konfigurierten Modell und Server ab.

03

Modell verbinden und testen

Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.

04

Änderungen prüfen und Tests ausführen

Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

Maximales bipartites Matching

Arbeitsabläufe
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)

Vor dem Anwenden prüfen. Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.

KI-Arbeitsumgebung für Code

Hier beginnt Ihre nächste Idee.

Für Windows herunterladen ↗