FForellin
Spațiu de programare cu AI

Păduri de acoperire minimă

Găsește o pădure minimă pentru cel mult 64 de noduri și 1024 de muchii cu ponderi întregi în ±10^9.

● ● ●Forellin●
Fluxuri de lucru · Păduri de acoperire minimă ×
def spanning_forest(count, edges):
    if type(count) is not int or not 0 <= count <= 64 or type(edges) is not list or len(edges) > 1024:
        raise ValueError("forest.input")
    ordered = []
    for edge in edges:
        if type(edge) not in (list, tuple) or len(edge) != 3 or any(type(x) is not int for x in edge):
            raise ValueError("forest.edge")
        a, b, weight = edge
        if not 0 <= a < count or not 0 <= b < count or abs(weight) > 10**9:
            raise ValueError("forest.bounds")
        ordered.append((weight, min(a, b), max(a, b)))
    parent = list(range(count))
    def root(node):
        while parent[node] != node:
            parent[node] = parent[parent[node]]
            node = parent[node]
        return node
    selected, total = [], 0
    for weight, a, b in sorted(ordered):
        x, y = root(a), root(b)
        if x != y:
            parent[x] = y
            selected.append((a, b, weight))
            total += weight
    return total, selected
✳Păduri de acoperire minimă
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
  1. Verifică înainte de aplicare

    Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

  2. Modele

    Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.

  3. Proiect

    Testează noduri deconectate, muchii paralele, bucle și egalități deterministe, respingând capete invalide și booleene fără modificarea intrării.

Fluxuri de lucru

Păduri de acoperire minimă

Fluxuri de lucru ↗
Fluxuri de lucru
def spanning_forest(count, edges):
    if type(count) is not int or not 0 <= count <= 64 or type(edges) is not list or len(edges) > 1024:
        raise ValueError("forest.input")
    ordered = []
    for edge in edges:
        if type(edge) not in (list, tuple) or len(edge) != 3 or any(type(x) is not int for x in edge):
            raise ValueError("forest.edge")
        a, b, weight = edge
        if not 0 <= a < count or not 0 <= b < count or abs(weight) > 10**9:
            raise ValueError("forest.bounds")
        ordered.append((weight, min(a, b), max(a, b)))
    parent = list(range(count))
    def root(node):
        while parent[node] != node:
            parent[node] = parent[parent[node]]
            node = parent[node]
        return node
    selected, total = [], 0
    for weight, a, b in sorted(ordered):
        x, y = root(a), root(b)
        if x != y:
            parent[x] = y
            selected.append((a, b, weight))
            total += weight
    return total, selected
Spațiu de programare cu AI

Include intrările deconectate în contractul software pentru grafuri

Forellin oferă dezvoltatorilor un spațiu de programare cu IA pentru Windows destinat examinării codului de procesare a grafurilor împreună cu aplicația care se bazează pe el. Începe conversația proiectului cu reprezentarea intrării și rezultatul necesar apelantului. Cere asistentului să examineze tratarea conexiunilor absente, muchiilor repetate și ordinii ieșirii înainte de a propune o modificare. Aceste alegeri definesc funcția la fel de mult ca calculul central.

Contextul spanning_forest.py sugerează o sarcină în care nodurile deconectate sunt așteptate, nu tratate ca o încercare eșuată de a conecta totul. Ai putea cere modelului să explice muchiile selectate și relația lor cu totalul. Verifică răspunsul folosind un graf mic controlabil manual, apoi solicită o modificare precisă dacă trebuie ajustate contractul rezultatului sau validarea.

Rulează verificările proiectului pe intrări conectate și deconectate și examinează reprezentarea nodurilor izolate în aplicația din jur. Dacă există mai multe rezultate valide, stabilește dacă selecția deterministă contează pentru consumator. Forellin acceptă endpointuri compatibile OpenAI sau Anthropic acceptate, cu acreditări când sunt necesare. Un model IA nefiltrat poate fi ales când este oferit, dar restricțiile modelului, instrumentele și capacitatea contextului depind în continuare de serviciul configurat. Spațiul de lucru sprijină investigația; exemplele de grafuri și rezultatele testelor susțin acceptarea codului.

Întrebări pentru o modificare a procesării grafurilor

Intrarea deconectată trebuie respinsă întotdeauna?

Numai dacă aplicația cere o singură structură conexă. Pentru un rezultat de tip pădure, componentele deconectate pot fi valide. Precizează această distincție înainte de a solicita o remediere, astfel încât asistentul să nu forțeze conexiuni pe care intrarea nu le-a furnizat.

Ce se întâmplă dacă mai multe selecții de muchii au același total?

Decide dacă orice optim valid este acceptabil sau consumatorul are nevoie de o selecție repetabilă. Dacă ordinea sau departajarea contează, include-le în rezultatul așteptat și testează-le explicit, fără a te baza pe ordinea incidentală a intrării.

Cum verific totalul raportat?

Folosește un exemplu mic și compară independent muchiile selectate cu suma ponderilor lor. Examinează și dacă apelantul așteaptă doar totalul sau structura selectată, deoarece aceste ieșiri susțin comportamente diferite ale aplicației.

De ce să testez separat nodurile izolate?

Ele pot dispărea dintr-un rezultat format doar din muchii, chiar dacă sunt incluse în intrare. Verifică reprezentarea din jur și decide cum trebuie aplicația să păstreze sau să afișeze aceste noduri, fără a presupune că muchiile selectate descriu toate vârfurile.

Descarcă pentru Windows ↗

Forellin · Actualizat 2026-10-25