impelix, сейчас уже непонятно, что там у тебя в коде, но там должны быть 3 поинта:
- проверка, что кони изначально стоят на одной и той же клетке
- проверка одинаковых цветов стартовых клеток по формуле, которую я написал выше
- bfs от первого ко второму (путь сохранять не надо, только длину)
тогда уже совсем другой расклад. Если кони далеко друг от друга, то первый конь сначала идет прямо в сторону второго, а как приблизился на расстояние 5-6 клеток, можно и bfs бахнуть, чтобы прикинуть маневр
зачем??
просто бфс от первого ко второму, и всё.
далее, полагая что кони пойдут по этому найденному пути навстречу друг другу, делаем вывод, что число ходов есть половина длины пути
Надим Закиров, надо заметить, что вызов func(...arr) может привести к переполнению стека, если массив достаточно длинный, порядка 150 тыс элементов. Потому однострочник годится только для небольших блоков. Для больших, наверно, строку придется собирать по частям, кодируя, например, чанки по 3*N элементов... Не знаю, какой вариант наиболее быстрый. К сожалению, в браузере до сих пор нет нормального коробочного решения для base64 из байтового массива.
Нужно объединить так, чтобы списков было как можно меньше?
При объединении списков [1, 2] и [2, 3] будет [1, 2, 3] или [1, 2, 2, 3]?
И каков смысл ключей в словаре?