Menu
Coddy logo textTech

Final Challenge #1

Coddyの「ベルマン–フォード法 - グラフアルゴリズム」コースのレッスン 8/9。

challenge icon

チャレンジ

中級

ベルマン–フォード法の真骨頂は、負の閉路を見つけ出すことです。

hasNegativeCycle という名前の関数を作成してください。この関数は n とフラットな edges 配列(3つの値の組、有向)を受け取り、グラフに負の重みの閉路が含まれる場合は 1 を、そうでない場合は 0 を返します。

ヒント:すべての距離を 0 から開始し、すべての辺を n - 1 回緩和(relax)させ、その後もう一度パスを実行します。もしさらに緩和できる辺があれば、負の閉路が存在します。

自分で試してみよう

#include <stdlib.h>

int hasNegativeCycle(int n, int* edges, int edges_size) {
    // ここにコードを記述してください
    return -1;
}

ベルマン–フォード法 - グラフアルゴリズムのすべてのレッスン