问题描述:n个村庄之间的无向图,边上的权值w(i,j)表示村庄i和j之间道路长度.现要从这n个村庄中选择一个村庄新建一所医院,使离医院最远的村庄到医院的路程最短.设计一程序求解此问题. 基本要求:用邻接矩阵表示无向网,应显示所选中的村庄到各村庄的最短距离 #include using namespace std; #define INFINITY 1000 //最大值 #define MAX_VERTEX_NUM 20//顶点数(村庄数) bool P[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM]; struct ArcCell{ double adj;//权值 }; struct MGraph{ char vexs[MAX_VERTEX_NUM];//顶点向量 ArcCell arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//邻接矩阵 int vexnum;//顶点数 int arcnum;//边数(即村庄之间的路径数目)