Pagini recente » Cod sursa (job #546417) | Cod sursa (job #1535750) | Cod sursa (job #2855316) | Cod sursa (job #701348) | Cod sursa (job #1494158)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("apm.in");
ofstream g("apm.out");
struct muchie
{
int x,y;
float c;
};
muchie u[400001],af[400001];
int l[200001],m,n;
long ct;
int comp(muchie a,muchie b)
{
return (a.c<b.c);
}
int main()
{
int i,k,w,v,j,nr=0;
f>>n>>m;
for (i=1;i<=m;i++)
f>>u[i].x>>u[i].y>>u[i].c;
sort (u+1,u+m+1,comp);
for (i=1;i<=n;i++)
l[i]=i;
i=1;
k=0;
while (k<n-1)
{
if (l[u[i].x]!=l[u[i].y])
{
nr++;
af[nr].x=u[i].x;
af[nr].y=u[i].y;
k++;
ct+=u[i].c;
w=l[u[i].x];
v=l[u[i].y];
for (j=1;j<=n;j++)
if (l[j]==v)
l[j]=w;
}
i++;
}
g<<ct<<'\n';
g<<nr<<'\n';
for (i=1;i<=nr;i++)
g<<af[i].x<<" "<<af[i].y<<'\n';
return 0;
}