Я ищу эффективный алгоритм для решения проблемы организации кругового набора чисел от 1 до 12, чтобы получить наивысший балл.
Оценка расположения определяется суммой оценок всех соседних пар.
Чтобы получить оценку соседней пары (a,b), вычисляются следующие шаги:
1. Find x such that (a+x) mod 12 = b
2. Look up x in a score table
3. The value in the score table at index 'x' is the score of the pair (a,b).
Это повторяется для каждой соседней пары, и сумма является оценкой расположения.
Here is an example:
Suppose the score table is [5,4,6,7,2,7,-2,-6,-8,-2,6,12,13]
Consider these numbers: 5, 12, 8, 9
For each adjacent pairs,
the values for x are: 5 -> 12: 7
12 -> 8: 8
8 -> 9: 1
9 -> 5: 8
The values for score[x] are:
score[7] = -6
score[8] = -8
score[1] = 4
score[8] = -6
The sum of the score[x] values is: (-6) + (-8) + (4) + (-6)
= -18
Цель состоит в том, чтобы придумать алгоритм для эффективного расположения чисел, чтобы максимизировать счет, учитывая сами числа — до двадцати из них между 1 и 12 — и таблицу очков.
Большое спасибо,