Pagini recente » Cod sursa (job #2455568) | Cod sursa (job #460904) | Cod sursa (job #1172095) | Cod sursa (job #353663) | Cod sursa (job #3162760)
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("apm.in");
ofstream fout("apm.out");
const int nmax=200001;
struct muchie{
int x,y,c;
}v[2010],z[2010];
int t[nmax];
bool comp(muchie &a,muchie &b){
return a.c<b.c;
}
int main()
{
int n,m;
fin>>n>>m;
for(int i=0;i<m;i++){
fin>>v[i].x>>v[i].y>>v[i].c;
}
sort(v,v+m,comp);
for(int i=1;i<=n;i++)
t[i]=i;
int total=0,k=0;
for(int i=0;i<m;i++)
if(t[v[i].x]!=t[v[i].y]){
z[++k].x=v[i].x,z[k].y=v[i].y;
total+=v[i].c;
int ai=t[v[i].x],aj=t[v[i].y];
for(int j=1;j<=n;j++)
if(t[j]==aj)
t[j]=ai;
}
fout<<total;
fout<< '\n'<<k<< '\n';
for(int i=1;i<=k;i++)
fout<<z[i].x<< " "<<z[i].y<< '\n';
return 0;
}