kruskal algorithm
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long i,j,n,k,temp,ar[100]= {},a[100],b[100],x[100],y[100],aa;
cin>>n;
k=0;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
cout<<i+1<<" "<<j+1<<"=";
cin>>aa;
ar[k]=aa;
if(aa==0)
ar[k]=999;
a[k]=i;
b[k]=j;
k++;
cout<<endl;
}
}
for(i=0; i<k; i++)
{
for(j=i+1; j<k; j++)
{
if(ar[i]>ar[j])
{
temp=ar[i];
ar[i]=ar[j];
ar[j]=temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
for(i=0; i<100; i++)
{
x[i]=0;
y[i]=0;
}
for(i=0; i<k; i++)
cout<<ar[i]<<" "<<a[i]<<" "<<b[i]<<endl;
long long sum=0,m=0;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
cout<<x[a[i]]<<" "<<x[b[j]]<<" "<< ar[m]<<endl;
if(x[a[i]]!=1&&x[b[j]]!=1)
{
sum+=ar[m];
x[a[i]]=1;
x[b[j]]=1;
}
m++;
}
}
cout<<sum<<endl;
/*
0
3
2
3
0
1
2
1
0
*/
}
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন