好呀,在写这个代码之前,我还想跟您确认几个点哈。 1. 城市之间的路程或者旅费的数据您是打算手动输入还是通过文件读取呢? 2. 对于输出的结果格式,您有没有特别的要求? 3. 您希望这个程序处理的城市数量有没有上限呀? 以下是用 Dev C++ 实现旅行售货员问题的代码: ```cpp #include <iostream> #include <vector> // 计算两个城市之间的距离 int distance(int city1, int city2) { // 这里您需要根据实际情况定义距离计算的逻辑 return 0; } // 递归函数用于计算最短路径 int tsp(std::vector<bool>& visited, int currentCity, int count, int cost, int& minCost) { if (count == visited.size()) { // 如果已经访问了所有城市,返回当前成本和起始城市之间的距离 cost += distance(currentCity, 0); if (cost < minCost) { minCost = cost; } return cost; } for (int i = 1; i < visited.size(); i++) { if (!visited[i]) { visited[i] = true; int newCost = tsp(visited, i, count + 1, cost + distance(currentCity, i), minCost); visited[i] = false; } } return minCost; } int main() { int numCities; std::cout << "请输入城市数量: "; std::cin >> numCities; std::vector<bool> visited(numCities, false); visited[0] = true; int minCost = INT_MAX; tsp(visited, 0, 1, 0, minCost); std::cout << "最小总路程为: " << minCost << std::endl; return 0; } ``` [2024-12-17 03:33:42 | AI写代码神器 | 448点数解答]