Witam,
Mam kod Pythonie. Ze względu na szybkość działania chciałbym go przepisać w C++. Niestety słabo znam ten język i ciężko zrobić mi translację. Jężeli jest ktoś w stanie i pomóc to z góry dziękuję.

poniżej fragmenty kodu:

def value(path, graph):
#Dla danej
listy wierzcholkow i grafu zwraca dlugosc cyklu opisanego przez liste
psum = 0
for i in range(len(path)):
psum += graph[path[i]][path[(i+1)%len(path)]]
return psum

def random_perm(lst):
#Zwraca losowa permutacje ciagu
random.shuffle(lst)
return lst

def unify(seq):
#Unifikuje liste
seq.sort()
return list(seq for seq,_ in itertools.groupby(seq))

def all_combinations(items, n):
#Generator kombinacji n-elementowych listy items
if n==0: yield []
else:
for i in xrange(len(items)):
for cc in combinations(items[i+1:],n-1):
yield [items[i]]+cc

def combinations(items, n):
#Zwraca liste wszystkich n-elementowych kombinacji listy items
sols = []
for cc in all_combinations(items, n):
sols.append(cc)
return sols

def newRefSet(newSols, graph, b):
#Metoda wywolujaca metode proprawy, zwracajaca b najlepszych rozwiazan z newSols
newSols = improve(newSols, graph)
newSols.sort(key=lambda s:value(s,graph))
if len(newSols) < b:
return newSols
else:
return newSols[:b]