Pagini recente » Cod sursa (job #1622445) | Cod sursa (job #338693) | Cod sursa (job #3189147) | Cod sursa (job #2003502) | Cod sursa (job #1007060)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("apm.in");
ofstream fout("apm.out");
struct graf{
int x,y,val;
}a[200003];
int n,i,k,j,m,b[200003]={0},ac,value=0;
//int** vec = new int*[10];
//vec[1] = new int;
graf find_min(){
int min = 9999999,curr;
for(int i=1;i<=m;i++){
if(b[a[i].x]+b[a[i].y] == 1 && a[i].val<min){
curr=i;
min = a[i].val;
}
}
//cout<<min<<" ";
return a[curr];
}
void apm(){
graf q;
q = find_min();
value += q.val;
if(b[q.x]!=0)
b[q.y]=1;
else
b[q.x]=1;
cout<<"";
ac++;
}
int main(){
fin>>n>>m;
// for(i=1;i<=n;i++) vec[i]= new int;
for(i=1;i<=m;i++){
fin>>a[i].x>>a[i].y>>a[i].val;
//v[a[i].x]++;
// vec[a[i].x][v[a[i].x]] = a[i].y;
}
b[1] = 1;
//active[1]=1;
ac = 1;
while(ac<=n) apm();
fout<<value;
//system("pause");
}