Pagini recente » Cod sursa (job #3139740) | Cod sursa (job #1693363) | Cod sursa (job #2684931) | Cod sursa (job #587263) | Cod sursa (job #2482380)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("hamilton.in");
ofstream fout("hamilton.out");
struct cost
{
int x, y, c;
} ;
cost v[400];
int n, m, sum, nr;
int L[20];
inline bool cmp(const cost &a, const cost &b)
{
return a.c < b.c;
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= m; ++ i)
fin >> v[i].x >> v[i].y >> v[i].c;
sort(v+1, v+m+1, cmp);
for(int i = 0; i <= n; ++ i)
L[i] = i;
int i = 1;
while(nr - 1 < n)
{
if(L[v[i].x] != L[v[i].y])
{
int a = L[v[i].x], b = L[v[i].y];
for(int j = 0; j <= n; ++ j)
if(L[j] == b)
L[j] = a;
nr ++;
sum +=v[i].c;
}
i ++;
}
if(sum)
fout << sum;
else
fout << "Nu exista solutie";
return 0;
}