Не совсем. Тут скорее надо использовать граф.
Т.е. ты задаешь сами пункты, которые являются узлами графа. Далее соединяешь их ребрами. У ребра есть "стоимость" - в твоем случае расстояние между пунктами. Далее 2 варианта:
1. Ты просто задаешь очередность проезда пунктов, программа по графу вычисляет планироуемое расстояние и сообщает тебе. Тут есть проблемка - если граф не полный, т.е. между некоторыми пунктами нет дороги (прямой). Можно сделать так, что бы программа сама искала возможную дорогу, или просто тебя спрашивала.
2. Более сложный вариант. Ты даешь список пунктов, программа вычисляет кратчайший марщрут с заездом во все укащанные пункты. Тут можно решать перебором, не "сваливаясь" в теорию графов, для твоей НЕБОЛЬШОЙ задачки нормально. Ну а если задача большая (кол-во узлов и ребер графа), то придется читать теорию и реализовывать сложный алгоритм.
|