Pagini recente » Cod sursa (job #1657142) | Cod sursa (job #943660) | Cod sursa (job #1567906) | Cod sursa (job #1007300) | Cod sursa (job #1185006)
#include<cstdio>
#include<algorithm>
#include<vector>
#define x first
#define y second
using namespace std;
int n,m,cost,c;
vector< pair<int, pair<int,int> > > a;
pair<int,int> aux;
vector<int> b;
vector< pair<int,int> > sol;
int un(int x)
{
if(b[x]==x) return x;
b[x] = un( b[x] );
return b[x];
}
int main ()
{
freopen("apm.in","rt",stdin);
scanf("%d%d",&n,&m);
for(int i=0;i<m;++i)
{
scanf("%d%d%d",&aux.x,&aux.y,&c);
a.push_back(make_pair(c,aux));
}
sort(a.begin(),a.end());
for(int i=0;i<n;++i) b.push_back(i);
for(int i=0;i<m;++i)
{
if( un(a[i].y.x)!=un(a[i].y.y) )
{
b[ un(a[i].y.y) ]= un(a[i].y.x);
sol.push_back(a[i].y);
cost+=a[i].x;
}
}
printf("Costul minim este = %d\n",cost);
return 0;
}