Оп. Тоже ошибся, при запуске. Так что вот правильный вывод:
16:08:06
12
c->w value = 2
z->v value = 55
z->u value = 55
k->y value = 55
k->x value = 3
k->e value = 7
a->h value = 7
a->g value = 14
m->l value = 59
m->j value = 2
b->j value = 6
f->g value = 2
16:08:06
Снова добрался до. Запустил полный тест на 17 транзакций, но исключительно на второй версии пока. Вот резултат, с указанием времени начала работы и окончания.
16:03:03
12
c->w value = 2
z->v value = 55
z->u value = 55
k->y value = 55
k->x value = 3
k->e value = 7
a->h value = 7
a->g value = 7
a->f value = 7
m->l value = 59
m->j value = 2
b->j value = 6
16:03:03
Вот например «Попытка № 2»
У меня радостно выдаёт результат меньше чем за секунду. Для всё тех же 17 транзакций.
Вообще эту рекурсию можно оптимизировать и оптимизировать на манер того, как это делает искусственный интеллект в шахматах, отсекая изначально медленные варианты, так что возможно результат можно будет получать достаточно быстро.
Ну и написанный мной код тоже стоит упростить и дополнить. Ибо слишком много магии в новых функциях как мне кажется. Определённо должно быть решение изящней, но боюсь что прямо сейчас не смогу найти время сесть и поискать его.
Согласен, тест на 17 выполняется безумно долго.
Но у меня ответ получился другим, и стоит сказать он выглядит правильным:
12
C W 2
K U 55
A H 7
M L 53
Z Y 55
Z V 55
M D 8
A G 7
A F 7
K E 7
B L 6
K X 3
Возникла пара мыслей на тему оптимизации, сейчас попробую их проверить и выложу результат.