#include <stdio.h>  
#define INF 10000  // 表示无穷大（假设校园内最大距离小于10000米）  

int main() {  
    // 距离矩阵：dist[i][j]表示点i到点j的距离（0:A,1:B,2:C,3:D,4:E）  
    int dist[5][5] = {  
        {0, 10, 20, INF, INF},    // A到各点的距离  
        {10, 0, 5, 15, INF},      // B到各点的距离  
        {20, 5, 0, INF, 30},      // C到各点的距离  
        {INF, 15, INF, 0, 5},     // D到各点的距离  
        {INF, INF, 30, 5, 0}      // E到各点的距离  
    };  
    int shortest[5] = {0, INF, INF, INF, INF};  // 最短距离数组  
    char* path[5] = {"A", "", "", "", ""};      // 路径数组（简化表示）  
    int visited[5] = {1, 0, 0, 0, 0};           // 1表示已确定  

    // 此处省略算法核心循环（详细实现见第12章）  
    printf("从A到B的最短距离：%d米，路径：A→B\n", 10);  // 示例输出  
    printf("从A到C的最短距离：%d米，路径：A→B→C\n", 15); // 示例输出  
    return 0;  
}  
