測它的測資是對的
#include<iostream>
using namespace std;
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)==2&&n&&m)
{
int line[n+1][n+1],x,y,weight;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
line[i][j]=line[j][i]=0;
for(int i=0;i<m;i++)
{
scanf("%d%d%d",&x,&y,&weight);
if(weight>line[x][y])
line[x][y]=line[y][x]=weight;
}
scanf("%d%d",&x,&y);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
{
if(line[i][j]!=0&&line[j][k]!=0)
{
if(line[i][j]>line[j][k])
weight=line[j][k];
else
weight=line[i][j];
if(weight>line[i][k])
line[i][k]=weight;
}
}
printf("%d\n",line[x][y]);
}
}
測它的測資是對的
#include
using namespace std;
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)==2&&n&&m)
{
int line[n+1][n+1],x,y,weight;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
line[i][j]=line[j][i]=0;
for(int i=0;i {
scanf("%d%d%d",&x,&y,&weight);
if(weight>line[x][y])
line[x][y]=line[y][x]=weight;
}
scanf("%d%d",&x,&y);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
{
if(line[i][j]!=0&&line[j][k]!=0)
{
if(line[i][j]>line[j][k])
weight=line[j][k];
else
weight=line[i][j];
if(weight>line[i][k])
line[i][k]=weight;
}
}
printf("%d\n",line[x][y]);
}
}