Pagini recente » Cod sursa (job #2956032) | Cod sursa (job #2456875) | Cod sursa (job #1883779) | Cod sursa (job #638846) | Cod sursa (job #2072890)
#include <stdio.h>
#include <algorithm>
//Alg. lui Prim - Matei
using namespace std;
FILE*f=fopen("apm.in","r");
FILE*g=fopen("apm.out","w");
struct muchie{
int x,y,c;
}c[400001];
int b[400001],l[200001];
int cmp(muchie x, muchie y){
return x.c<=y.c;
}
int main()
{
int n,m,i,j,t=0,nr=0;
fscanf(f,"%d%d",&n,&m);
for (i=1;i<=m;i++) fscanf(f,"%d%d%d",&c[i].x,&c[i].y,&c[i].c);
sort(c+1,c+m+1,cmp);
l[1]=1;
for (j=2;j<=n;j++)
for (i=1;i<=m;i++)
if (!b[i]&&(l[c[i].x]+l[c[i].y]==1)){
t+=c[i].c;
nr++;
b[i]=1;
l[c[i].x]=1;
l[c[i].y]=1;
break;
}
fprintf(g,"%d\n%d\n",t,nr);
for (i=1;i<=m;i++)
if (b[i]) fprintf(g,"%d %d\n",c[i].x,c[i].y);
fclose(f);
fclose(g);
return 0;
}