Pagini recente » Cod sursa (job #1598877) | Cod sursa (job #980667) | Cod sursa (job #861959) | Cod sursa (job #1711127) | Cod sursa (job #1555283)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define NMAX 19
int n,m,x,y,co,viz[NMAX],sol = 10000000;
vector<int> a[NMAX],c[NMAX];
void DFS(int nod,int cost, int nivel)
{
viz[nod] = 1;
for(int i=0;i<a[nod].size();i++)
{
if(viz[a[nod][i]]==0)
{
DFS(a[nod][i],cost + c[nod][i],nivel+1);
}
if(nivel==n && a[nod][i]==0)
{
sol = min(sol,cost+c[nod][i]);
}
}
viz[nod] = 0;
}
int main()
{
ifstream in("hamilton.in");
ofstream out("hamilton.out");
in >> n >> m;
for(int i=0;i<m;i++)
{
in >> x >> y >> co;
a[x].push_back(y);
c[x].push_back(co);
}
DFS(0,0,1);
if(sol==10000000)
out << "Nu exista solutie";
else
out << sol;
return 0;
}