Pagini recente » Cod sursa (job #1019975) | Cod sursa (job #299950) | Cod sursa (job #2517344) | Cod sursa (job #2122798) | Cod sursa (job #2406907)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("apm.in");
ofstream g("apm.out");
struct muchie
{
int x,y,c;
} a[4000005],sol[200005];
int l[200005],i,j,n,m,k,cost,p;
int compar(muchie a,muchie b)
{
return a.c<b.c;
}
int main()
{
f>>n>>m;
for(i=1; i<=m; i++)
{
f>>a[i].x>>a[i].y>>a[i].c;
}
for(i=1; i<=n; i++) l[i]=i;
sort(a+1,a+m+1,compar);
j=1;
k=1;
while(k<n)
{
if(l[a[j].x]!=l[a[j].y])
{
cost+=a[j].c;
sol[k].x=a[j].x;
sol[k].y=a[j].y;
k++;
p=l[a[j].y];
for(i=1; i<=n; i++)
{
if(l[i]==p)
{
l[i]=l[a[j].x];
}
}
}
j++;
}
g<<cost<<'\n';
g<<n-1<<'\n';
for(i=1;i<n;i++)
{
g<<sol[i].x<<" "<<sol[i].y<<'\n';
}
return 0;
}