HHopwise
ワークフロー

コーディングのワークフロー · 有向グラフの最小ホップ数

03
製品

ワークフロー

1から1000頂点のグラフで一つの頂点からの最小有向ホップ数を計算してください。閉路、重複辺、到達不能頂点を試し、空グラフや不正な端点を探索前に拒否してください。

01

アプリをダウンロード

フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。

02

プロジェクトフォルダーを開く

対応するエンドポイントを選択します。利用できるツールや回答品質は、設定したモデルとサーバーに依存します。

03

モデルを接続してテスト

変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。

04

変更を確認しテストを実行

実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

有向グラフの最小ホップ数

ワークフロー
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 distances

適用前に確認. 変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。

AIコーディングワークスペース

次のアイデアはここから。

Windows版をダウンロード ↗