Pagini recente » Cod sursa (job #512423) | Cod sursa (job #1536287) | Cod sursa (job #1983665) | Cod sursa (job #2258721) | Cod sursa (job #892936)
Cod sursa(job #892936)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
struct muchie {int x,y,c;} U[400013];
int n,m,arb[400013],cost;
inline int cmp( muchie a, muchie b)
{
if (a.c<b.c)
return 1;
return 0;
}
int main()
{
int i,j,nrm=0,temp;
fstream f,g;
f.open("apm.in",ios::in);
g.open("apm.out",ios::out);
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,cmp);
nrm=0;
g<<" \n"<<n-1<<"\n";
for (i=1;i<=m;i++)
arb[i]=i;
i=1;
while (nrm<n-1)
{
if (arb[U[i].x]!=arb[U[i].y])
{
cost+=U[i].c;
g<<U[i].x<<" "<<U[i].y<<"\n";
nrm++;
temp=arb[U[i].y];
for (j=1;j<=n;j++)
if (arb[j]==temp)
arb[j]=arb[U[i].x];
}
i++;
}
g.clear();
g.seekg(0,ios::beg);
g<<cost;
}