Pagini recente » Cod sursa (job #3988) | Cod sursa (job #117610) | Cod sursa (job #1993273) | Cod sursa (job #3280685) | Cod sursa (job #3164104)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("../apm.in");
ofstream out("../apm.out");
struct muchie
{
int cost,i,j;
bool folosit;
};
muchie x[200005], aux;
int main()
{
int n, m, a[101] = {}, cst = 0;
in>>n>>m;
for(int i = 1; i<=m; i++)
{
in>>x[i].i>>x[i].j>>x[i].cost;
x[i].folosit = false;
}
for(int i = 1; i<m; i++)
for(int j = i+1; j<=m; j++)
if(x[i].cost > x[j].cost)
aux = x[i], x[i] = x[j], x[j] = aux;
for(int i = 1; i<=n; i++)
a[i] = i;
for(int i = 1; i<=m; i++)
if(a[x[i].i] != a[x[i].j])
{
cst+=x[i].cost;
x[i].folosit = true;
int arbi = a[x[i].i], arbj = a[x[i].j];
for(int j = 1; j<=n; j++)
if(a[j] == arbi)
a[j] = arbj;
}
out<<cst<<'\n';
for(int i = 1; i<=m; i++)
if(x[i].folosit)
out<<x[i].i<<' '<<x[i].j<<'\n';
}