да, по постановке задачи, самая близкая это задача коммивояжера.
самым рациональным(с точки зрения реалий) на мой взгляд алгоритмом оказался «алгоритм составления минимального остовного дерева», возможно, чуть чуть измененный.
да, винда, никто не совершенен, так-то оно работает, но я бы хотел понять причину, почему на символе «ь» оно все рушится?
или это такая особенность присущая cp866?