Pagini recente » Cod sursa (job #1307160) | Cod sursa (job #237208) | Cod sursa (job #2630237) | Cod sursa (job #71200) | Cod sursa (job #2168022)
#include <fstream>
using namespace std;
ifstream f("hamilton.in");
ofstream g("hamilton.out");
int x[20][20],st[20],n,sol=2000000000;
bool viz[20];
void dfs(int a, int nr, int s)
{
int i;
viz[a]=1;
if(nr==n && x[a][0])
{
if(sol>s+x[a][0])
sol=s+x[a][0];
}
else
{
for(i=0;i<n;i++)
{
if(!viz[i] && x[a][i])
dfs(i,nr+1,s+x[a][i]);
}
}
viz[a]=0;
}
int main()
{
int i,m,s=0,a,b;
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>a;
f>>b;
f>>x[a][b];
}
dfs(0,1,0);
if(sol<2000000000)
g<<sol;
else
g<<"Nu exista";
return 0;
}