Pagini recente » Cod sursa (job #3240149) | Cod sursa (job #3293150) | Cod sursa (job #2485329) | Cod sursa (job #663791)
Cod sursa(job #663791)
#include<stdio.h>
#include<fstream.h>
#include<iostream.h>
struct muchie{
int cap1,cap2,cost,selectat;
};
int v[100];
muchie a[100],mm,aux;
int n,m,x,y,i,c,conex[100],s,ok,j,auxx;
int main()
{
ifstream f("apm.in");
ofstream g("apm.out");
f>>n; f>>m;
for (i=1;i<=m;i++){
f>>a[i].cap1;
f>>a[i].cap2;
f>>a[i].cost;
}
for (i=1;i<=n;i++)
conex[i]=i;
for(i=1;i<m;i++)
for(j=i+1;j<=m;j++)
if(a[i].cost>a[j].cost){
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
for (i=1;i<=m;i++) {
mm=a[i];
if (conex[mm.cap1]!=conex[mm.cap2]) {
a[i].selectat=1;
auxx=conex[mm.cap2];
for (j=1;j<=n;j++)
if (conex[j]==auxx)
conex[j]=conex[mm.cap1];
}
}
s=0;
int nod=0;
for (i=1;i<=m;i++)
if (a[i].selectat==1)
{s=s+a[i].cost;
nod++; }
g<<s<<endl<<nod<<endl;
for (i=1;i<=m;i++)
if (a[i].selectat==1)
g<<a[i].cap1<<" "<<a[i].cap2<<endl;
return 0;
}