মডিউল ১_৩ঃ অ্যাডজাসেন্সি ম্যাট্রিক্স ইমপ্লিমেন্টশন
অ্যাডজাসেন্সি ম্যাট্রিক্স ইমপ্লিমেন্টশন
গ্রাফের Number of nodes (n) and Number of Edges (e) ইনপুট নেয়া হল। একটি NxN সাইজের 2D অ্যারে delcare করা হল।
int n, e;
cin >> n >> e;
int mat[n][n];
memset build-in function ব্যবহার করে 2D অ্যারের সকল ইনডেক্সে 0 assign করে দেয়া হল।
memset(mat, 0, sizeof(mat));
e বার লুপ চালিয়ে, লুপের ভিতর edge এর নোড ২টি a and b ইনপুট নেয়া হল । এরপর 2D অ্যারের mat[a][b] ইনডেক্স ও mat[b][a] ইনডেক্সে 1 assign করে দেয়া হল। এতে করে বুঝা যাবে a নোডের সাথে b নোডের edge আছে এবং b নোডের সাথে a নোডের edge আছে।
while (e--)
{
int a, b;
cin >> a >> b;
mat[a][b] = 1;
mat[b][a] = 1;
}
এরপর manually চেক করলাম ইনপুট নেয়া গ্রাফে 3 নোডের সাথে 1 নোডের কোন edge আছে কিনা। সেইটি আমরা বুঝতে পারব যদি mat[3][1] ইনডেক্সের মানটি 1 হয়।
if (mat[3][1] == 1)
cout << "connection ache";
else
cout << "connection nai";
সম্পূর্ণ কোড অ্যাডজাসেন্সি ম্যাট্রিক্স ইমপ্লিমেন্টশন
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, e;
cin >> n >> e;
int mat[n][n];
memset(mat, 0, sizeof(mat));
while (e--)
{
int a, b;
cin >> a >> b;
mat[a][b] = 1;
mat[b][a] = 1;
}
if (mat[3][1] == 1)
cout << "connection ache";
else
cout << "connection nai";
return 0;
}
Last updated