Pagini recente » Cod sursa (job #1667884) | Cod sursa (job #1764283) | Cod sursa (job #1068910) | Cod sursa (job #994653) | Cod sursa (job #2310171)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("apm.in");
ofstream fout("apm.out");
struct muchie
{
int x,y;
float cost;
} b[30],aux;
int n,m,i,k,cst,l[30],j;
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>b[i].x>>b[i].y>>b[i].cost;
}
for(i=1;i<=n;i++)
{
l[i]=i;
}
// ordonarea muchiilor dupa cost
for(i=1;i<m;i++)
{
for(j=i+1;j<=m;j++)
{
if(b[i].cost>b[j].cost)
{
aux=b[i];
b[i]=b[j];
b[j]=aux;
}
}
}
k=0; // nr. de muchii selectate
cst=0; // costul total
i=1;
while(k<n-1)
{
if(l[b[i].x]!=l[b[i].y])
{
k++;
cst+=b[i].cost;
for(j=1;j<=n;j++)
if(l[j]==l[b[i].x])
l[j]=l[b[i].y];
fout<<b[i].x<<" "<<b[i].y<<endl;
}
i++;
}
fout<<cst<<endl;
return 0;
}