Pagini recente » Cod sursa (job #2774028) | Cod sursa (job #3251509) | Cod sursa (job #2872063) | Cod sursa (job #122771) | Cod sursa (job #2168146)
#include <fstream>
#include <algorithm>
std::ifstream f("hamilton.in");
std::ofstream g("hamilton.out");
using namespace std;
int n,m;
int a[2000][2000];
int cost[2000][2000];
int ham[2000];
void init()
{
for(int i=0;i<n;i++)
ham[i]=i;
}
void citire()
{
int x,y,z;
f>>n>>m;
for(int i=1;i<=m;i++)
{
f>>x>>y>>z;
a[x][y]=1;
cost[x][y]=z;
}
}
int main()
{
int mini;
int i;
int s;
mini=1<<20;
citire();
init();
/* do
{
for(int k=0;k<n;k++)
g<<ham[k]<<' ';
g<<'\n';
s=0;
for(i=0;i<n-1;i++)
if(!a[ham[i]][ham[i+1]]) i=n+96;
if(i!=n+97 and a[ham[n-1]][ham[0]])
{
for(int j=0;j<n-1;j++)
s+=cost[ham[j]][ham[j+1]];
s+=cost[ham[n-1]][ham[0]];
if(s<mini) mini=s;
}
}while(next_permutation(ham,ham+n));
if(mini!=1<<20) g<<mini;*/
//else
g<<"Nu exista solutie";
return 0;
}