Java 求两点之间的最小距离
我有M个点,它们由N条线连接。接下来的N行输入包含不同点对之间的距离。我想求每对点之间的最小距离之和 样本输入: 样本输出: 说明: d1,2=5+3=8 d1,3=5 d2,3=3 d2,4=3+5=8 d3,4=5 d4,5=2 总和=8+5+3+8+5+2=31 编辑1: 我已使用以下代码将扭曲图转换为邻接矩阵:Java 求两点之间的最小距离,java,algorithm,Java,Algorithm,我有M个点,它们由N条线连接。接下来的N行输入包含不同点对之间的距离。我想求每对点之间的最小距离之和 样本输入: 样本输出: 说明: d1,2=5+3=8 d1,3=5 d2,3=3 d2,4=3+5=8 d3,4=5 d4,5=2 总和=8+5+3+8+5+2=31 编辑1: 我已使用以下代码将扭曲图转换为邻接矩阵: Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[][] vertices = new int[m][m];
for(int i=0; i<m; i++){
for(int j=0; j<m; j++){
vertices[i][j]=0;
}
}
for(int i=0; i < m; i++){
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();
vertices[a][b] = c;
vertices[b][a] = c;
}
现在,如果存在一条连接点的直线,如何找到任意两点之间的最短距离?用于构造所有对最短路径的矩阵。现在,将矩阵中的所有值相加并除以2,因为每个距离将计数两次
wiki页面上的伪代码足以将其转换为java。您尝试了什么,您在哪里卡住了?我们不能为你做全部的事情!为什么d1、4、d1、5、d2、5、d3、5不包括在总数中?@SujeetSinha刚刚编辑了我的问题。如果你能帮忙,我将不胜感激me@ajb因为在输入中没有直接连接它们的行
31
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[][] vertices = new int[m][m];
for(int i=0; i<m; i++){
for(int j=0; j<m; j++){
vertices[i][j]=0;
}
}
for(int i=0; i < m; i++){
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();
vertices[a][b] = c;
vertices[b][a] = c;
}