Baixe o aplicativo
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Calcule as menores distâncias em saltos dirigidos desde um vértice num grafo de 1 a 1000 vértices. Teste ciclos, arestas repetidas e vértices inalcançáveis, rejeitando grafo vazio ou extremos inválidos antes da travessia.
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.
Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
from collections import deque
def hop_distances(graph, start):
if type(graph) is not list or not 1 <= len(graph) <= 1000:
raise ValueError("graph.size")
n = len(graph)
if type(start) is not int or not 0 <= start < n:
raise ValueError("graph.start")
if any(type(row) is not list or any(type(v) is not int or
not 0 <= v < n for v in row) for row in graph):
raise ValueError("graph.edges")
distances = [None]*n
distances[start] = 0
queue = deque([start])
while queue:
u = queue.popleft()
for v in graph[u]:
if distances[v] is None:
distances[v] = distances[u]+1
queue.append(v)
return distancesRevise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.