মডিউল ৭_৮ঃ Floyd Warshall Algoritm Code

আমরা এখন Floyd Warshall Algorithm এর কোডটা দেখবো।

// Some code
    ll n, e;
    cin >> n >> e;
    ll adj[n][n];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            adj[i][j] = INT_MAX;
            if (i == j)
                adj[i][j] = 0;
        }
    }

এখানে গ্রাফের এডজেসেন্সি ম্যাট্রিক্সটা ইনিশিয়ালাইজ করলাম।

// Some code
    while (e--)
    {
        int a, b, c;
        cin >> a >> b >> c;
        adj[a][b] = c;
    }

এবার এজ ইনপুট নিয়ে সেটার ভ্যালু এডজেসেন্সি ম্যাট্রিক্স এ রাখলাম।

এখন আসল কাজটা করব। এখানে k এর লুপটা সেই মধ্যস্ততাকারী নোডকে চুজ করবে। আর i আর j লুপ যথাক্রমে সোর্স আর ডেস্টিনেশন হিসেবে কাজ করবে। আর রিল্যাক্স এর লজিকটা হচ্ছে যদি i->k + k->j < i->j হয় তাহলে তা আপডেট হবে।

সম্পূর্ণ কোডঃ

Last updated