10分求调
查看原帖
10分求调
999517
HuYuChen666NBFLS楼主2025/7/30 14:58
#include<bits/stdc++.h>
using namespace std;
int n,m,u,v,w,dp[101][101];
int main(){
	scanf("%d%d",&m,&n);
	memset(dp,0x3f,sizeof(dp));
	for(int i=1;i<=n;i++){
		dp[i][i]=0;
	}
	for(int i=1;i<=m;i++){
		scanf("%d%d%d",&u,&v,&w);
		if(w<dp[u][v]){
			dp[u][v]=w;
			dp[v][u]=w;
		}
	}
	for(int k=1;k<=n;k++){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]);
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			printf("%d ",dp[i][j]);
		}
		printf("\n");
	}
	return 0;
}

这题是不让用scanf吗?

2025/7/30 14:58
加载中...