FForellin
Ambiente de programação com IA

Florestas geradoras mínimas

Encontre uma floresta geradora mínima com até 64 nós e 1024 arestas de pesos inteiros em ±10^9.

● ● ●Forellin●
Fluxos de trabalho · Florestas geradoras mínimas ×
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
✳Florestas geradoras mínimas
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
  1. Revise antes de aplicar

    Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

  2. Modelos

    Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

  3. Projeto

    Teste nós desconectados, arestas paralelas, laços e empates determinísticos, rejeitando extremos inválidos e booleanos sem alterar a entrada.

Fluxos de trabalho

Florestas geradoras mínimas

Fluxos de trabalho ↗
Fluxos de trabalho
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
Ambiente de programação com IA

Inclua entradas desconectadas no contrato do software de grafos

Forellin oferece aos desenvolvedores um ambiente de programação com IA para Windows para examinar código de processamento de grafos junto com a aplicação que depende dele. Comece uma conversa de projeto com a representação da entrada e o resultado exigido pelo chamador. Peça ao assistente que examine como a implementação trata conexões ausentes, arestas repetidas e ordenação da saída antes de propor uma mudança. Essas escolhas moldam o recurso tanto quanto o cálculo central.

O contexto de spanning_forest.py sugere uma tarefa em que nós desconectados são esperados, em vez de tratados como uma tentativa fracassada de conectar tudo. Você pode pedir ao modelo que explique quais arestas são selecionadas e como o total se relaciona a elas. Revise a resposta com um grafo pequeno que possa conferir manualmente e peça uma correção focada se o contrato do resultado ou a validação precisar de ajustes.

Execute verificações do projeto com entradas conectadas e desconectadas e examine como os nós isolados são representados pela aplicação ao redor. Se vários resultados válidos existirem, estabeleça se a seleção determinística importa ao consumidor. Forellin aceita endpoints compatíveis com OpenAI ou da Anthropic que sejam suportados, com credenciais quando necessário. Um modelo de IA sem filtros pode ser escolhido quando oferecido, mas suas restrições, ferramentas e capacidade de contexto continuam dependendo do serviço configurado. O ambiente apoia sua investigação; os exemplos de grafos e os resultados dos testes sustentam a aceitação do código.

Perguntas sobre uma mudança no processamento de grafos

Entradas desconectadas devem sempre ser rejeitadas?

Somente se a aplicação exigir uma estrutura única conectada. Para um resultado em forma de floresta, componentes desconectados podem ser válidos. Declare essa distinção antes de solicitar uma correção para que o assistente não force conexões que a entrada nunca forneceu.

E se várias seleções de arestas tiverem o mesmo total?

Decida se qualquer ótimo válido é aceitável ou se o consumidor precisa de uma seleção repetível. Se ordenação ou desempate importarem, inclua-os no resultado esperado e teste explicitamente, sem depender da ordem incidental da entrada.

Como verifico o total informado?

Use um exemplo pequeno e compare as arestas selecionadas com a soma independente de seus pesos. Examine também se o chamador espera apenas o total ou a estrutura selecionada, pois essas saídas sustentam comportamentos diferentes da aplicação.

Por que testar nós isolados separadamente?

Eles podem desaparecer de um resultado composto apenas de arestas mesmo quando a entrada os inclui. Verifique a representação ao redor e decida como a aplicação deve preservar ou exibir esses nós, em vez de presumir que as arestas selecionadas descrevem todos os vértices.

Baixar para Windows ↗

Forellin · Atualizado 2026-10-25