비연결 입력은 항상 거부해야 하나요?
애플리케이션이 하나의 연결 구조를 요구할 때만 그렇습니다. 포리스트 결과에서는 비연결 성분도 유효할 수 있습니다. 도우미가 입력에 없는 연결을 강제로 만들지 않도록 수정 요청 전에 이 차이를 명시하세요.
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
실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
분리된 노드, 평행 간선, 자기 루프, 결정적인 동률 처리를 시험하고 잘못된 끝점이나 불리언을 입력 변경 없이 거부하세요.
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
Forellin은 개발자가 그래프 처리 코드와 이를 사용하는 애플리케이션을 함께 살펴보는 Windows AI 코딩 작업 공간입니다. 입력 표현과 호출부에 필요한 결과로 프로젝트 대화를 시작하세요. 변경 제안에 앞서 도우미에게 구현이 누락된 연결, 중복 간선, 출력 순서를 어떻게 처리하는지 살펴보도록 요청하세요. 이런 선택도 핵심 계산만큼 기능을 형성합니다.
spanning_forest.py 맥락에서는 비연결 노드를 모든 노드를 연결하려다 실패한 것으로 보지 않고 예상되는 입력으로 다루는 작업을 생각할 수 있습니다. 어떤 간선이 선택되며 합계가 그 간선들과 어떻게 관련되는지 모델에게 설명하도록 요청할 수 있습니다. 손으로 확인할 수 있는 작은 그래프와 답변을 대조한 뒤 결과 계약이나 검증을 조정해야 한다면 범위를 좁힌 패치를 요청하세요.
연결 입력과 비연결 입력으로 프로젝트 검사를 실행하고 주변 애플리케이션이 고립 노드를 표현하는 방식을 살펴보세요. 유효한 결과가 여러 개라면 소비부에 결정적인 선택이 중요한지 합의하세요. Forellin은 필요하면 인증 정보를 사용하는 지원 OpenAI 호환 또는 Anthropic 엔드포인트를 받습니다. 제공되는 경우 필터 없는 AI 모델을 선택할 수 있지만 모델 제한, 도구, 컨텍스트 용량은 설정한 서비스에 따라 달라집니다. 작업 공간은 조사를 지원하고 그래프 예제와 테스트 결과는 코드 수락의 근거가 됩니다.
애플리케이션이 하나의 연결 구조를 요구할 때만 그렇습니다. 포리스트 결과에서는 비연결 성분도 유효할 수 있습니다. 도우미가 입력에 없는 연결을 강제로 만들지 않도록 수정 요청 전에 이 차이를 명시하세요.
유효한 최적해면 무엇이든 허용할지, 소비부가 반복 가능한 선택을 필요로 하는지 결정하세요. 순서나 동률 동작이 중요하다면 우연한 입력 순서에 의존하지 말고 예상 결과에 포함하여 명시적으로 테스트하세요.
작은 예제를 사용하고 선택된 간선과 가중치 합계를 독립적으로 비교하세요. 호출부가 합계만 기대하는지 선택된 구조도 기대하는지 살펴보세요. 이 출력들은 서로 다른 애플리케이션 동작을 지원합니다.
입력에 포함되어 있어도 간선만 있는 결과에서는 사라질 수 있습니다. 선택된 간선이 모든 정점을 설명한다고 가정하지 말고 주변 표현을 확인하여 애플리케이션이 노드를 보존하거나 표시할 방식을 결정하세요.
Forellin · 업데이트 2026-10-25