Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double recursion2(int mask)
- {
- double mejor = 10e20;
- //cout<<"dist_total:"<<dist_total<<endl;
- for (int i0 = 0; i0 < 2*N; i0++)
- {
- if (!(mask & (1<<i0))) // si esta libre i0
- for (int i1 = i0+1; i1 < 2*N; i1++)
- if (!(mask & (1<<i1)))// si esta libre i1
- {
- recursion2(mask | (1<<i0) | (1<<i1));
- double sol=hypotf(Coordenadas[i0].first-Coordenadas[i1].first, Coordenadas[i0].second-Coordenadas[i1].second)+memo[mask|(1<<i0)|(1<<i1)];
- if (sol < mejor)
- mejor = sol;
- }
- }
- if(mejor!=10e20)
- {
- memo[mask]=mejor;
- return mejor;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement